linux nc命令


Linux nc命令用於設置路由器。

執行本指令可設置路由器的相關參數。

nc命令的作用

  • 實現任意TCP/UDP端口的偵聽,nc可以作為server以TCP或UDP方式偵聽指定端口
  • 端口的掃描,nc可以作為client發起TCP或UDP連接
  • 機器之間傳輸文件
  • 機器之間網絡測速

nc命令的安裝

[root@chenshifengdeLinuxServer ~] yum -y install nmap-ncat

語法

nc [-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數>][主機名稱][通信端口...]

參數說明

  • -g<網關> 設置路由器躍程通信網關,最多可設置8個。
  • -G<指向器數目> 設置來源路由指向器,其數值為4的倍數。
  • -h 在線幫助。
  • -i<延遲秒數> 設置時間間隔,以便傳送信息及掃描通信端口。
  • -l 使用監聽模式,管控傳入的資料。通常 這樣代表着為一個 服務等待客戶端來鏈接指定的端口。
  • -n 直接使用IP地址,而不通過域名服務器。
  • -o<輸出文件> 指定文件名稱,把往來傳輸的數據以16進制字碼傾倒成該文件保存。
  • -p<通信端口> 設置本地主機使用的通信端口。有可能會關閉
  • -k<通信端口>強制 nc 待命鏈接.當客戶端從服務端斷開連接后,過一段時間服務端也會停止監聽。 但通過選項 -k 我們可以強制服務器保持連接並繼續監聽端口。
  • -r 亂數指定本地與遠端主機的通信端口。
  • -s<來源位址> 設置本地主機送出數據包的IP地址。
  • -u 使用UDP傳輸協議。
  • -v 顯示指令執行過程。
  • -w<超時秒數> 設置等待連線的時間。
  • -z 使用0輸入/輸出模式,只在掃描通信端口時使用。

實例

TCP端口掃描

# nc -v -z -w2 192.168.0.3 1-100 
192.168.0.3: inverse host lookup failed: Unknown host
(UNKNOWN) [192.168.0.3] 80 (http) open
(UNKNOWN) [192.168.0.3] 23 (telnet) open
(UNKNOWN) [192.168.0.3] 22 (ssh) open

掃描192.168.0.3 的端口 范圍是 1-100

掃描UDP端口

# nc -u -z -w2 192.168.0.1 1-1000 //掃描192.168.0.3 的端口 范圍是 1-1000
掃描指定端口
# nc -nvv 192.168.0.1 80 //掃描 80端口
(UNKNOWN) [192.168.0.1] 80 (?) open
y  //用戶輸入

 常用示例

[root@chenshifengdeLinuxServer ~] nc -l 9999                        # 開啟一個本地9999的TCP協議端口,由客戶端主動發起連接,一旦連接必須由服務端發起關閉
[root@chenshifengdeLinuxServer ~] nc -vw 2 192.168.21.248 11111     # 通過nc去訪問192.168.21.248主機的11111端口,確認是否存活;可不加參數
[root@chenshifengdeLinuxServer ~] nc -ul 9999                       # 開啟一個本地9999的UDP協議端口,客戶端不需要由服務端主動發起關閉
[root@chenshifengdeLinuxServer ~] nc 192.168.21.248 9999 < test     # 通過192.168.21.248的9999TCP端口發送數據文件
[root@chenshifengdeLinuxServer ~] nc -l 9999 > zabbix.file          # 開啟一個本地9999的TCP端口,用來接收文件內容

# 測試網速
A機器操作如下:
[root@chenshifengdeLinuxServer ~] yum install -y dstat           # A機器安裝dstat命令
[root@chenshifengdeLinuxServer ~] nc -l 9999 > /dev/null

# B機器開啟數據傳輸
nc 10.0.1.161 9999 </dev/zero

# A機器進行網絡監控
[root@chenshifengdeLinuxServer ~] dstat

例1:代理(瀏覽器輸入120.0.0.1,返回百度首頁)

mkfifo /tmp/fifo

nc -lk 8080 < /tmp/fifo | sed -l -e 's/^Host.*/Host:www.baidu.com/' | tee -a /tmp/req.log | nc www.baidu.com 80 | tee -a /tmp/res > /tmp/fifo

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM