最好的方法来testing打开的端口

我们有一个要求,我们必须testing500多个港口开放规则。 所以需要在下面的点build议。

  • 哪个是testing端口连通性的最佳工具。 Telnet就足够了
  • 如果没有应用程序正在监听端口,则telnet将从端口获得一个resposne。

我们正在Amazon VPC中针对安全组进行检查。

从机器内部netstat -ntlp / -nulp将分别显示所有打开的TCP / UDP端口(和相关的程序)。

从外部,nmap -sT和nmap -sU将分别显示打开的TCP / UDP端口。

请记住,这些命令可能需要root权限,并且确保在防火墙中将扫描的来源列入白名单 – 否则,如果主机正在使用类似fail2ban的内容,则可能会被locking。

看看nmap( http://nmap.org )。 它可以做许多types的扫描,并可以为许多ose。 还有一个windows版本和gui

您应该使用nc(netcat)来扫描任何tcp或udp端口。

nc(或netcat)实用程序几乎用于任何涉及TCP或UDP的日光下。 它可以打开TCP连接,发送UDP数据包,监听任意的TCP和UDP端口,进行端口扫描,同时处理IPv4和IPv6。 不像telnet(1),nc脚本很好,并将错误消息分隔成标准错误,而不是像标准输出那样发送,正如telnet(1)对一些错误消息所做的那样。

基本上,

nc -z -wX <host> <port> 

-z

指定nc只需扫描监听守护进程,而不向其发送任何数据。 将此选项与-l选项结合使用是错误的。使用它的更简洁的方法是:

-w3

如果一个连接和stdin闲置的时间超过了超过秒,那么连接将被静默closures。 -w标志对-l选项没有任何影响,即nc将永久地监听连接,不pipe是否带有-w标志。 默认没有超时。

例如;

 nc -z -w3 example.com 22 

将在example.com上扫描端口22而不发送任何数据,超时时间将为3秒。

您可以使用nmap来testing主机(或主机列表)上的端口(或端口列表)。 例:

 nmap 192.168.0.101-150 -p 22,80,443 

检查150个主机上的三个端口,并生成格式良好的报告。 如果没有程序在端口监听,nmap将显示端口为“closures”。 如果防火墙阻止从testing计算机访问端口,端口将显示为“过滤”。

您可以执行相同的扫描并每行生成一个主机的报告,适用于刷新或导入到另一个程序:

 nmap 192.168.0.101-150 -p 22,80,443 -oG - 

(注意最后 – 在上面的行输出到标准输出。如果需要更改为文件名。)