2021-03-07 分類: 網(wǎng)站建設
1. nc命令簡介
NetCat,在網(wǎng)絡工具中有“瑞士軍刀”美譽,其有Windows和Linux的版本。因為它短小精悍、功能實用,被設計為一個簡單、可靠的網(wǎng)絡工具,可通過TCP或UDP協(xié)議傳輸讀寫數(shù)據(jù)。同時,它還是一個網(wǎng)絡應用Debug分析器,因為它可以根據(jù)需要創(chuàng)建各種不同類型的網(wǎng)絡連接。
netcat簡介
以CentOS7.5最小安裝版為例,默認情況下系統(tǒng)并沒有集成nc工具集,需要手動安裝它:
- [root@zcwyou?~]#?yum?install?-y?nmap-ncat?
2. 測試192.168.1.1的TCP80端口是否可以正常連接
- [root@zcwyou?~]#?nc?-v?-w?1?192.168.1.1?-z?80?
linux使用netcat命令檢測TCP80端口是否可以正常連接
試試連接81端口
- [root@zcwyou?~]#?nc?-v?-w?1?192.168.1.1?-z?81?
3. 使用nc傳輸文件
大部分時間中,我們都在試圖通過網(wǎng)絡或者其他工具傳輸文件。有很多種方法,比如FTP,SCP,SMB等等,但是當你只是需要臨時或者一次傳輸文件,真的值得浪費時間來安裝配置一個軟件到你的機器上嘛。假設,你想要傳一個文件zcwyou.txt 從A到B。A或者B都可以作為服務器或者客戶端,以下,讓A作為服務器,B為客戶端。
Server端配置
- [root@zcwyou?~]#?nc?-l?1567?
?zcwyou.txt?<>
Client
- [root@zcwyou?~]#?nc?-n?172.31.100.7?1567?>?zcwyou.txt?
原理:Server端把zcwyou.txt輸入到nc,由nc發(fā)送,Client端通過nc接收消息,把它保存到zcwyou.txt。
4. 克隆硬盤或分區(qū)
server2上進行類似的監(jiān)聽動作,即把接收的數(shù)據(jù)重定向給dd:
- [root@zcwyou?~]#?nc?-l?-p?1234?|?dd?of=/dev/sda?
server1上把dd后的數(shù)據(jù)重定向給nc,即發(fā)送數(shù)據(jù)
- [root@zcwyou?~]#?dd?if=/dev/sda?|?nc?192.168.200.27?1234?
注意:克隆硬盤或分區(qū)的操作,不應在已經(jīng)mount的的系統(tǒng)上進行。
5. 指定源端口
假設你的防火墻過濾除25端口外其它所有端口,你需要使用-p選項指定源端口。
服務器端打開監(jiān)聽:
- [root@zcwyou?~]#?nc?-l?1567?
客戶端發(fā)送數(shù)據(jù),目標端口1567,源端口25
- [root@zcwyou?~]#?nc?172.31.100.7?1567?-p?25?
使用1024以內(nèi)的端口需要root權限。
該命令將在客戶端開啟25端口用于通訊,否則將使用隨機端口。
6. 指定源地址
使用-s選項指定源ip地址。
服務器端打開監(jiān)聽,把zcwyou.txt重定向給nc。
- [root@zcwyou?~]#?nc?-u?-l?1567?
?zcwyou.txt?<>
客戶端
- [root@zcwyou?~]#?nc?-u?192.168.100.1?1567?-s?192.168.88.20?>?file.txt?
當服務器有多個IP時,指定使用192.168.88.20作為源IP。
7. 目錄傳輸
發(fā)送一個文件很簡單,但是如果我們想要發(fā)送多個文件,或者整個目錄,一樣很簡單,只需要使用壓縮工具tar,壓縮后發(fā)送壓縮包。
如果你想要通過網(wǎng)絡傳輸一個目錄從A到B。
Server端,打包abc目錄,并重定向到nc
- [root@zcwyou?~]#?tar?-cvf?-?abc?|?nc?-l?1567?
Client端,通過nc接收數(shù)據(jù)并由tar解包
- [root@zcwyou?~]#?nc?-n?172.31.100.7?1567?|?tar?-xvf?-?
如果想要節(jié)省帶寬傳輸壓縮包,我們可以使用bzip2或者其他工具壓縮。
Server端通過bzip2壓縮目錄abc并重定向到nc,監(jiān)聽端口1567
- [root@zcwyou?~]#?tar?-cvf?-?abc?|?bzip2?-z?|?nc?-l?1567?
Client端把接收到的數(shù)據(jù)通過交給bzip2和tar處理
- [root@zcwyou?~]#?nc?-n?172.16.26.88?1567?|?bzip2?-d?|tar?-xvf?-?
8. 加密你通過網(wǎng)絡發(fā)送的數(shù)據(jù)
如果你擔心你在網(wǎng)絡上發(fā)送數(shù)據(jù)的安全,你可以在發(fā)送你的數(shù)據(jù)之前用如mcrypt的工具加密。
服務端,使用mcrypt工具加密數(shù)據(jù)。
- [root@zcwyou?~]#?nc?localhost?1567?|?mcrypt?–flush?–bare?-F?-q?-d?-m?ecb?>?zcwyou.txt?
客戶端,使用mcrypt工具解密數(shù)據(jù)。
- mcrypt?-flush?-bare?-F?-q?-m?ecb?
?zcwyou.txt?|?nc?-l?1567?<>
以上兩個命令會提示需要密碼,確保兩端使用相同的密碼。
這里我們是使用mcrypt用來加密,使用其它任意加密工具都可以。
9. 傳輸流視頻
雖然不是生成流視頻的最好方法,但如果服務器上沒有特定的工具,使用netcat,我們?nèi)匀挥邢M龀蛇@件事。
服務端讀取一個視頻文件重定向輸出到netcat客戶端
- [root@zcwyou?~]#?cat?video.avi?|?nc?-l?1567?
客戶端通過nc讀取內(nèi)容交給mplayer播放器
- [root@zcwyou?~]#?nc?172.31.100.7?1567?|?mplayer?-vo?x11?-cache?3000?-?
10. 使用UDP協(xié)議
默認情況下,nc創(chuàng)建連接時只會連接TCP端口。 不過我們可以使用-u選項來連接到 UDP 端口
- [root@zcwyou?~]#?ncat?-l?-u?8888?
udp 8888端口已經(jīng)打開,然后用netstat驗證一下端口是否打開。
- [root@zcwyou?~]#?netstat?-tunlp?|?grep?1234?
udp 0 0 0.0.0.0:1234 0.0.0.0:* 17341/nc
udp6 0 0 :::1234 :::* 17341/nc
測試某服務器的UDP端口,比如檢查本地是否可以使用阿里DNS服務器223.5.5.5
- [root@zcwyou?~]#?nc?-v?-u?223.5.5.5?53?
Ncat: Version 7.50
Ncat: Connected to 223.5.5.5:53.
顯示Connected即表明成功連接到遠程DNS端口,DNS工作正常。
linux使用netcat測試服務器的UDP端口
11. 其它用途
使用-t選項模擬Telnet客戶端:
HTTP客戶端用于下載文件
連接到郵件服務器,使用SMTP協(xié)議檢查郵件
使用ffmpeg截取屏幕并通過流式傳輸分享,等等。其它更多用途。
簡單來說,只要你了解協(xié)議就可以使用netcat作為網(wǎng)絡通訊媒介,實現(xiàn)各種客戶端。
分享文章:Linux里有類似Windows系統(tǒng)里的Tcping端口連接檢測工具嗎
當前地址:http://www.rwnh.cn/news15/104765.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、手機網(wǎng)站建設、全網(wǎng)營銷推廣、網(wǎng)站制作、網(wǎng)站設計公司、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容