nc命令


nc:全稱netcat,能夠打開tcp鏈接,發送udp數據包,監放任意tcpudp的端口,實現端口掃描和同時處理IPv4IPv6node

 

1.參數

-4     使用IPv4地址。服務器

-6     使用IPV6地址..ssh

-D     開啓debugging 在 socket.curl

-d     不嘗試從stdin讀取數據.socket

-h     查看幫助信息tcp

-i     指定文本行發送和接收的延時時間.  也能夠製造鏈接到多端口的延時.ide

-I     指定TCP接收緩衝區大小url

-n     任何指定的地址,主機名或端口都不作任何DNS或服務解析.spa

-k    強制nc持續監聽另外一個鏈接直到它的鏈接完成.  沒有 -l 選項是錯誤的.     debug

-l     用於指定nc應該監聽一個傳入的鏈接,而不是鏈接到遠程主機.  該選項不能與如下選項聯合使用-p, -s, 或 -z 選項.  此外, 任何用-w選項指定的超時會被忽略.-

-p source_port   指定nc使用的源端口,受到權限和可用性的限制.

-r     指定源和/或目標端口隨機選擇而不是一個範圍序列或系統分配的順序.

-s source      指定源IP的接口用於發送數據包. 

-u     使用UDP協議。

-V rtable  設置要使用的路由表. 默認是 0.

-v    使nc給出更詳細的輸出.

-w timeout      沒法創建的或者閒置的鏈接在指定秒數以後超時. .

 -z      指定nc只是掃描正在監聽的守護進程,不發送任何數據.  不可和-l選項同時使用。

-q    指定客戶端收到EOF以後退出的時間

2.實際應用

1)傳輸文件 

使用-l在本地監聽一個端口,並把輸出定向到一個文件,而後從另外一臺設備上往此端口上傳輸文件。

服務器1:nc -l 8899 >123.txt

服務器2:nc 192.168.0.2438899 <test_curl 

這樣就把test_curl給傳過來了

 

或者:

server1:nc -l 8899| tar zxf -

server2:tar zcf-  node-v0.12.2.tar.gz | nc 192.168.0.2438899

 

2)端口掃描或探測

[root@jjjjjjjjjj ~]# nc -v  -w 2 192.168.0.243 -z 20-30

nc: connect to 192.168.0.243 port 20 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 21 (tcp)failed: Connection refused

Connection to 192.168.0.243 22 port[tcp/ssh] succeeded!

nc: connect to 192.168.0.243 port 23 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 24 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 25 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 26 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 27 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 28 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 29 (tcp)failed: Connection refused

nc: connect to 192.168.0.243 port 30 (tcp)failed: Connection refused

 

也可指定單個端口

nc -v -w 2 192.168.0.243  80

相關文章
相關標籤/搜索