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