linux下面nc的使用
nc是一個強大的網絡工具,可以幫助你診斷,發現在linux下面使用網絡時的一些問題.類似這樣的工具有telnet,nmap,telnet的功能比較弱,nmap我沒有具體的使用過,以后有機會使用nmap的時候再寫一篇筆記吧.
nc可以提供如下的網絡功能:
1) 監聽特定端口,這時候nc就可以作為一個服務器,但是我發現這樣使用nc生成的服務器僅僅是一個echo服務器而已,沒有其他更加強大的功能.
2) 連接特定端口,這時候nc就成為了一個客戶端,同樣的,也是一個簡單的客戶端,只能起echo的作用.
3) 掃描端口,這可以作為查詢某個機器上是否開啟了某個端口.
具體nc的使用可以man nc查看,這里僅就上面的幾個功能進行說明.
1)使用-l參數監聽端口,我的理解是listen的縮寫,因此在指定-l參數和一個端口號的時候,nc開始監聽這個端口的連接.
2)使用ip地址(或者URL)以及服務器端口號變成一個客戶端連接特定的服務器,如 nc 127.0.0.1 80就是連接本地localhost的80端口,在連接成功之后后面的輸入就可以作為這個客戶端向服務器發出的請求數據,可以是http請求等等.通常情況下,為了免去重復輸入的麻煩,可以把輸入寫在一個文件里面,然后通過shell中重定向的功能向服務器發送請求,比如,假設http.txt文件中是已經寫好的http請求, 可以采用命令 cat http.txt | nc 127.0.0.1 80發送這個請求.
3)使用-z參數掃描端口,后面緊跟的是ip地址(或者URL),以及一個端口號的范圍,比如nc -z 127.0.0.1 20-40命令掃描localhost的20到40端口是否開啟.
其它的使用,nc不僅可以建立TCP連接,還可以建立IPV6協議的連接(-6參數),或者IPV4協議(-4參數),或者UDP(-u參數).
nc可以提供如下的網絡功能:
1) 監聽特定端口,這時候nc就可以作為一個服務器,但是我發現這樣使用nc生成的服務器僅僅是一個echo服務器而已,沒有其他更加強大的功能.
2) 連接特定端口,這時候nc就成為了一個客戶端,同樣的,也是一個簡單的客戶端,只能起echo的作用.
3) 掃描端口,這可以作為查詢某個機器上是否開啟了某個端口.
具體nc的使用可以man nc查看,這里僅就上面的幾個功能進行說明.
1)使用-l參數監聽端口,我的理解是listen的縮寫,因此在指定-l參數和一個端口號的時候,nc開始監聽這個端口的連接.
2)使用ip地址(或者URL)以及服務器端口號變成一個客戶端連接特定的服務器,如 nc 127.0.0.1 80就是連接本地localhost的80端口,在連接成功之后后面的輸入就可以作為這個客戶端向服務器發出的請求數據,可以是http請求等等.通常情況下,為了免去重復輸入的麻煩,可以把輸入寫在一個文件里面,然后通過shell中重定向的功能向服務器發送請求,比如,假設http.txt文件中是已經寫好的http請求, 可以采用命令 cat http.txt | nc 127.0.0.1 80發送這個請求.
3)使用-z參數掃描端口,后面緊跟的是ip地址(或者URL),以及一個端口號的范圍,比如nc -z 127.0.0.1 20-40命令掃描localhost的20到40端口是否開啟.
其它的使用,nc不僅可以建立TCP連接,還可以建立IPV6協議的連接(-6參數),或者IPV4協議(-4參數),或者UDP(-u參數).
posted on 2008-07-20 16:53 那誰 閱讀(1653) 評論(0) 編輯 收藏 引用 所屬分類: Linux/Unix