Linux 的 nc 命令是一個功能強大的網絡工具,全稱是netcat,用于設置路由器。
語法:
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輸入/輸出模式,只在掃描通信端口時使用。 |
實例:
1、傳輸文件
首先在接收端192.168.0.2上: nc -l 1234 > test.txt
然后在發送端192.168.0.1 上: nc 192.168.0.2 1234 < test.txt
2、傳輸目錄
從 192.168.0.1拷貝yaya目錄內容到192.168.0.2。
在192.168.0.2上激活監聽:# nc -l 1234 | tar xzv-
192.168.0.1上運行:# tar czv- yaya | nc 192.168.0.2 1234
發送端:
# tar czv- yaya/ | nc 192.168.0.2 1234
yaya/
yaya/logs/
yaya/logs/LoanPrepare-2021-01-07-22.log
yaya/logs/LoanPrepare.log
nc -l 1234 | tar xzv-
yaya/
yaya/logs/
yaya/logs/LoanPrepare-2021-01-07-22.log
yaya/logs/LoanPrepare.log
3、簡單聊天工具
在192.168.0.1上: nc -l 1234
在192.168.0.2上: nc 192.168.0.1 1234
這樣,雙方就可以相互交流了。
使用ctrl+C(或D)退出
注意:先運行接收端,指定一個端口為1234,文件為test.txt;再執行發送端,并且發送端必須存在同名的文件test.txt。
對于已啟動的端口號,可以通過 lsof -i :port 查詢監聽端口的pid,然后通過kill pid關閉端口