使用netcat [nc]命令进行Linux和Unix端口扫描

时间:2020-01-09 10:41:51  来源:igfitidea点击:

如何确定自己的服务器上打开了哪些端口?在Linux或者类似Unix的系统上,如何使用nc命令而不是nmap命令运行端口扫描? nmap(网络映射器)是用于网络探索和安全审核的开源工具。如果未安装nmap,并且您不希望使用所有nmap选项,则可以使用netcat/nc命令扫描端口。了解哪些端口已打开并在目标计算机上运行服务可能很有用。您也可以使用nmap命令进行端口扫描。

如何使用nc扫描Linux,UNIX和Windows服务器端口扫描?

如果未安装nmap,请按照以下说明尝试nc/netcat命令。

-z标志可用于告诉nc报告打开的端口,而不是启动连接。
使用-z标志运行nc命令。
您需要指定主机名/ip以及端口范围,以限制和加速操作:

## syntax ##
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
 
## scan 1 to 1023 ports ##
nc -zv vip-1.vsnl.theitroad.com 1-1023

输出示例:

Connection to localhost 25 port [tcp/smtp] succeeded!
Connection to vip-1.vsnl.theitroad.com 25 port [tcp/smtp] succeeded!
Connection to vip-1.vsnl.theitroad.com 80 port [tcp/http] succeeded!
Connection to vip-1.vsnl.theitroad.com 143 port [tcp/imap] succeeded!
Connection to vip-1.vsnl.theitroad.com 199 port [tcp/smux] succeeded!
Connection to vip-1.vsnl.theitroad.com 783 port [tcp/*] succeeded!
Connection to vip-1.vsnl.theitroad.com 904 port [tcp/vmware-authd] succeeded!
Connection to vip-1.vsnl.theitroad.com 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
 
## really fast scanner with 1 timeout value ##
netcat -v -z -n -w 1 v.txvip1 1-1023

其中:

  • -z:端口扫描模式,即零I/O模式。
  • -v:要冗长(使用两次-vv则要更详细)。
  • -n:仅使用数字的IP地址,即不要使用DNS来解析IP地址。
  • -w 1:将超时值设置为1。

使用Netcat在服务器上建立和测试TCP和UDP连接,更多示例:

$ netcat -z -vv www.theitroad.local http
www.theitroad.local [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