|
|
本帖最后由 scdlok 于 2018-10-1 12:00 編輯
nc是netcat的簡寫,有著網(wǎng)絡(luò)界的瑞士軍刀美譽。因為它短小精悍、功能實用,被設(shè)計為一個簡單、可靠的網(wǎng)絡(luò)工具
使用 nc 命令發(fā)送文件和字符串:
nc -l 表示 listen,監(jiān)聽。
A機器 IP 地址為 192.168.1.109 ,在A機器上執(zhí)行如下指令:
scdl@ubuntu:~/scdl/work$ nc -l 9999 # TCP監(jiān)聽 9999 端口
在B機器上執(zhí)行如下指令發(fā)送字符串 "hello world":
scdl@ubuntu:/tftpboot$ echo "hello world" |nc 192.168.1.109 9999
再查看A機器結(jié)果,發(fā)現(xiàn)打印出了B機器發(fā)送來的 "hello world" 。
nc 發(fā)送文件與發(fā)送字符串類似,只不過將字符串變成了文件:
A機器運行指令:
$ nc -l 9999 # TCP 監(jiān)聽 9999 端口
B 機器運行指令:
$ nc 192.168.1.109 9999 < fileName
這里用到了輸入重定向,將文件 fileName 的內(nèi)容發(fā)送到 192.168.1.109:9999,等價于運行:
$ cat passwd |nc 192.168.1.109 9999
在機器A端收到的數(shù)據(jù)時字符流,并且會打印到標(biāo)準(zhǔn)輸出,如果要達到傳輸文件的效果,只要將結(jié)果輸出重定向到某個文件中即可,在 A 機器運行如下指令:
$ nc -l 9999 > fileName
這樣,A 機器收到數(shù)據(jù)之后就會保存到文件 fileName 中。
另外,對于嵌入式,如果使用 busybox 自帶的 nc 工具,監(jiān)聽某個端口的時候,必須要使用 -p 參數(shù)指定端口,例如通過 busybox 自帶的 nc 從虛擬機下載文件 SN.cfg:
~ # nc -l 9999 > /home/SN.cfg
nc: bad address '9999' # 報錯
~ # nc -lp 9999 > /home/testFile # 加上-p 參數(shù),指定 port 端口為 9999
下載文件成功!
|
評分
-
查看全部評分
|