使用 netcat [nc] 命令對 Linux 和 Unix 進行端口掃描

bwnx 8年前發布 | 12K 次閱讀 Linux

我如何在自己的服務器上找出哪些端口是開放的?如何使用 nc 命令進行端口掃描來替換 Linux 或類 Unix 中的 nmap 命令

nmap (“Network Mapper”)是一個用于網絡探測和安全審核的開源工具。如果 nmap 沒有安裝或者你不希望使用 nmap,那你可以用 netcat/nc 命令進行端口掃描。它對于查看目標計算機上哪些端口是開放的或者運行著服務是非常有用的。你也可以使用 nmap 命令進行端口掃描

使用 netcat [nc] 命令對 Linux 和 Unix 進行端口掃描

如何使用 nc 來掃描 Linux,UNIX 和 Windows 服務器的端口呢?

如果未安裝 nmap,試試 nc/netcat 命令,如下所示。-z 參數用來告訴 nc 報告開放的端口,而不是啟動連接。在 nc 命令中使用 -z 參數時,你需要在主機名/ip 后面限定端口的范圍和加速其運行:

### 語法 ###
### nc -z -v {host-name-here} {port-range-here}
nc -z -v host-name-here ssh
nc -z -v host-name-here 22
nc -w 1 -z -v server-name-here port-Number-her

### 掃描 1 to 1023 端口 ###
nc -zv vip-1.vsnl.nixcraft.in 1-1023

輸出示例:

Connection to localhost 25 port [tcp/smtp] succeeded!
Connection to vip-1.vsnl.nixcraft.in 25 port [tcp/smtp] succeeded!
Connection to vip-1.vsnl.nixcraft.in 80 port [tcp/http] succeeded!
Connection to vip-1.vsnl.nixcraft.in 143 port [tcp/imap] succeeded!
Connection to vip-1.vsnl.nixcraft.in 199 port [tcp/smux] succeeded!
Connection to vip-1.vsnl.nixcraft.in 783 port [tcp/*] succeeded!
Connection to vip-1.vsnl.nixcraft.in 904 port [tcp/vmware-authd] succeeded!
Connection to vip-1.vsnl.nixcraft.in 993 port [tcp/imaps] succeeded!

你也可以掃描單個端口:

nc -zv v.txvip1 443
nc -zv v.txvip1 80
nc -zv v.txvip1 22
nc -zv v.txvip1 21
nc -zv v.txvip1 smtp
nc -zvn v.txvip1 ftp

### 使用1秒的超時值來更快的掃描 ###
netcat -v -z -n -w 1 v.txvip1 1-1023

輸出示例:

使用 netcat [nc] 命令對 Linux 和 Unix 進行端口掃描

圖01:Linux/Unix:使用 Netcat 來測試 TCP 和 UDP 與服務器建立連接

  1. -z : 端口掃描模式即零 I/O 模式。
  2. -v : 顯示詳細信息 [使用 -vv 來輸出更詳細的信息]。
  3. -n : 使用純數字 IP 地址,即不用 DNS 來解析 IP 地址。
  4. -w 1 : 設置超時值設置為1。

更多例子:

$ netcat -z -vv www.cyberciti.biz http
www.cyberciti.biz [75.126.153.206] 80 (http) open
 sent 0, rcvd 0
$ netcat -z -vv google.com https
DNS fwd/rev mismatch: google.com != maa03s16-in-f2.1e100.net
DNS fwd/rev mismatch: google.com != maa03s16-in-f6.1e100.net
DNS fwd/rev mismatch: google.com != maa03s16-in-f5.1e100.net
DNS fwd/rev mismatch: google.com != maa03s16-in-f3.1e100.net
DNS fwd/rev mismatch: google.com != maa03s16-in-f8.1e100.net
DNS fwd/rev mismatch: google.com != maa03s16-in-f0.1e100.net
DNS fwd/rev mismatch: google.com != maa03s16-in-f7.1e100.net
DNS fwd/rev mismatch: google.com != maa03s16-in-f4.1e100.net
google.com [74.125.236.162] 443 (https) open
 sent 0, rcvd 0
$ netcat -v -z -n -w 1 192.168.1.254 1-1023
(UNKNOWN) [192.168.1.254] 989 (ftps-data) open
(UNKNOWN) [192.168.1.254] 443 (https) open
(UNKNOWN) [192.168.1.254] 53 (domain) open

也可以看看 :


via: http://www.cyberciti.biz/faq/linux-port-scanning/

作者:Vivek Gite 譯者:strugglingyouth 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

 本文由用戶 bwnx 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!