在linux上部署服务时,通常教程不会提供给检测服务没有部署成功的方法,有时候我们软件配置没问题,但是由于一些其他的问题导致服务连不上,这就很蛋疼了。
通常,对于网络服务,我们只需要检测端口是否OK就行了。简单情况下,我们使用ping+telnet就可以检测端口是否正常开启了。但是对于某些UDP端口并不能使用telnet检测,这时候可以使用nmap检测端口是否开启。
nmap使用:http://wooyun.jozxing.cc/static/drops/tips-2002.html
#Nmap 默认发送一个arp的ping数据包,来探测目标主机在1-10000范围内所开放的端口。 nmap 10.1.1.254 #Nmap 简单扫描,并对返回的结果详细描述输出。 nmap -vv 10.1.1.254 #通过参数-p 来设置我们将要扫描的端口号,单个,范围,或者集合 nmap -p 1723 127.0.0.1 nmap -p 1-50 127.0.0.1 nmap -p 1,2,3,50 127.0.0.1 #路由追踪:从我们电脑所在地到目标地之间所经常的网络节点,并可以看到通过各个节点所花费的时间 nmap --traceroute 8.8.8.8 #扫描一个网段下的ip nmap -sP 10.1.1.0 /24 nmap -sP 10.1.1.1-255 #探测操作系统类型 nmap -O 10.1.1.254 #如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求. nmap -O -PN 192.168.1.1/24 #ALL:包含了1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测 nmap -A 10.1.1.254
附录:
端口状态介绍:
-
open(开放的)
应用程序正在该端口接收TCP 连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。
-
closed(关闭的)
关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。 它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行up 也对部分操作系统探测有所帮助。 因为关闭的关口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。 系统管理员可能会考虑用防火墙封锁这样的端口。 那样他们就会被显示为被过滤的状态,下面讨论。
-
filtered(被过滤的)
由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供 任何信息。有时候它们响应ICMP错误消息如类型3代码13 (无法到达目标: 通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧, 不做任何响应。 这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。 这使得扫描速度明显变慢。
-
unfiltered(未被过滤的)
未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。 只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。 用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定 端口是否开放。
-
open|filtered(开放或者被过滤的)
当无法确定端口是开放还是被过滤的,Namp就把该端口划分成 这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。 UDP,IP协议, FIN,Null,和Xmas扫描可能把端口归入此类。
-
closed|filtered(关闭或者被过滤的)
该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中。