nc(netcat)實用程式幾乎可用於所有涉及TCP或UDP的事情。它可以打開TCP連接,發送UDP數據包,監聽任意TCP和UDP埠,進行埠掃描,處理IPv4和IPv6。與telnet不同,nc可以很好地編寫腳本,並將錯誤消息分離為標準錯誤,而不是像telnet一樣將錯誤消息發送至標準輸出。 語 ...
nc(netcat)實用程式幾乎可用於所有涉及TCP或UDP的事情。它可以打開TCP連接,發送UDP數據包,監聽任意TCP和UDP埠,進行埠掃描,處理IPv4和IPv6。與telnet不同,nc可以很好地編寫腳本,並將錯誤消息分離為標準錯誤,而不是像telnet一樣將錯誤消息發送至標準輸出。
語法:
nc [-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通信埠>][-s<來源位址>][-v...][-w<超時秒數>][主機名稱][通信埠...]
參數:
-g<網關> 設置路由器躍程通信網關,最丟哦可設置8個。
-G<指向器數目> 設置來源路由指向器,其數值為4的倍數。
-h 線上幫助。
-i<延遲秒數> 設置時間間隔,以便傳送信息及掃描通信埠。
-l 使用監聽模式,管控傳入的資料。
-n 直接使用IP地址,而不通過功能變數名稱伺服器。
-o<輸出文件> 指定文件名稱,把往來傳輸的數據以16進位字碼傾倒成該文件保存。
-p<通信埠> 設置本地主機使用的通信埠。
-r 亂數指定本地與遠端主機的通信埠。
-s<來源位址> 設置本地主機送出數據包的IP地址。
-u 使用UDP傳輸協議。
-v 顯示指令執行過程。
-w<超時秒數> 設置等待連線的時間。
-z 使用0輸入/輸出模式,只在掃描通信埠時使用。
應用實例
- 埠掃描
#掃描埠(70到80),可指定範圍。-v輸出詳細信息。
nc -v -z host.example.com 70-80
nc -v -w 3 192.168.1.222 -z 1-1000
nc -v -w 3 192.168.0.3 -z 80-83
輸出效果:
Connection to 192.168.0.3 80 port [tcp/http] succeeded!
nc: connect to 192.168.0.3 port 81 (tcp) failed: Connection refused
- 監聽本地埠
#監聽埠1234
nc -l -p 1234
#查看監聽
netstat -tunlp | grep 1234
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 4480/nc
- 測試udp和tcp埠
#測試udp 埠68
nc -vuz 192.168.0.3 68
Connection to 192.168.0.3 68 port [udp/bootpc] succeeded!
測試遠程連接
#建立從本地1234埠到xxx.domain.com的80埠連接,3秒超時
nc -p 1234 -w 3 xxx.domain.com 80
#使用UDP方式
nc -u xxx.domain.com 68
- 直接傳輸文件
從server1拷貝文件到server2上。
先在server2上,用nc激活監聽,server2上運行:
nc -lp 1234 > nc.log #定義輸出到nc.log
server1上運行:
nc -w 1 192.168.228.222 1234 < source.log #從source.log輸入