扫描原理

通过端口扫描,可以得到很多有用的信息,从而发现系统的安全漏洞。它是系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种手段。一个端口就是一个潜在的通信信道,也就是一个入侵通道。端口扫描技术是一项自动探测本地和远程系统端口开放情况的策略及方法。端口扫描技术的原理是端口扫描向目标主机的TCP / IP 服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,他通过对接收到的数据进行分析,帮助人们发现目标主机的某些内在弱点。

ping扫描

nmap -sP 192.168.1.0/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_TCP

向目标主机发送ICMP回显请求(Echo Request)报文,期待从运行主机得到ICMP回显应答(Echo Reply)报文,从而判断出目标主机的存活状态。通过并行轮转形式发送大量的ICMP Ping请求,可以用来对一个网段进行大范围扫射,由此来确定主机的存活情况。尽管并行轮转探测的准确率率和效率都比较高,但是一般的路由器或防火墙都通过阻塞ICMP报文限制了ICMP Ping探测。

该选项告诉Nmap仅仅进行Ping扫描,然后打印出对扫描做出响应的主机。其比列表扫描更积极,常常用于和列表扫描相同的目的。对于攻击者来说,了解多少主机正在运行比列表扫描提供的一列IP和主机名更有价值。它可以很方便的得出网络上的多少机器正在运行或者监视服务器是否正常运行。

无ping扫描

nmap -P0 192.168.1.0/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_TCP_02

无Ping扫描通常用于防火墙禁止Ping的情况下,它能确定正在运行的机器。
默认情况下,Nmap只对正在运行的主机进行高强度的探测,如端口扫描、版本探测或操作系统探测。用P0会使Nmap对每一个指定的的目标IP进行所要求的扫描,这可以穿透防火墙,也可以避免被防火墙发现。

TCP syn ping扫描

nmap -PS 192.168.123.1/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_IP_03

该选项发送一个设置了SYN标志位的空报文。SYN标志位告诉对方你正试图建立一个连接,通常目标端口是关闭的,目标主机返回RST(复位)数据报文。如果端口是开放的,则目标会进行TCP三步握手的第二步,回应一个SYN | ACK TCP报文,然后运行Nmap的机器会扼杀这个正在建立的连接;否则,一个完全的连接将会建立。Nmap并不关心端口开放还是关闭。无论RST还是SYN | ACK响应都告诉Nmap该机器正在运行。

TCP ack ping扫描

nmap -PA 192.168.123.1/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_IP_04

向目标主机的常用端口发送设置标志位为ACK的TCP数据报文。如果目标主机处于活动状态,则无论这个端口打开还是关闭,其都会返回标志位为RST的数据报文,这种方法也同样需要root权限。有一种常用的防火墙,它是利用有状态的规则来封锁预期的数据报文,开始这一特性之存在于高端防火墙,但是这些年来应用越来越普遍。这些防火墙会根据连接的状态把报文进行分类,通常ACK报文会被识别而被过滤掉。

UDP扫描

nmap -PU 192.168.1.0/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_数据_05

向目标主机的指定端口发送UDP数据报文,如果目标主机处于活跃状态,并且所指定端口为关闭的,那么目标主机就会返回ICMP端口无法到达的回应报文;如果指定端口是一个开放的端口,则大多服务会忽略这个报文而不做任何回应。因此这个指定端口通常必须是一些不常用的端口,因为只有选这些不常用的端口才能保证此方法的有效性和可行性,这种探测方法可以穿越只过滤TCP的防火墙或过滤器。

ARP扫描

nmap -R 192.168.1.0/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_TCP_06

ARP 协议是根据目标主机的 IP 地址获取对应的 MAC 地址。如果目标主机存在,将返回 MAC 地址。利用这一点,用户可以基于 ARP 协议对目标主机进行扫描,来判断目标主机是否启用。
ARP扫描是nmap对目标进行一个apr ping扫描的过程,尤其在内网的情况下。因为在本地局域网防火墙是不会禁止ARP请求的。所以在内网中使用apr扫描时非常有效的。

列表扫描

nmap -sL 192.168.1.0/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_TCP_07

列表扫描仅仅列出指定网络上的每台主机,而不发送任何报文到目标主机。默认情况下,nmap仍然对主机进行反向域名解析 ,以获取他们的名字,主机名有时能给出有用的信息。Nmap最后还会报告IP地址总数。列表扫描可以很好地确保用户拥有正确的目标IP。

反向域名解析

nmap -P0 192.168.1.0/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_数据_08

所谓的反向域名解析,是指从IP地址到域名的映射。由于在域名系统中,一个IP地址可以对应多个域名,因此从IP出发去找域名,相对于一般的域名解析来说,要难上很多。

路由追踪

nmap --traceroute -v 192.168.1.1/24

nmap扫描wireshark抓包判断主机存活 nmap检测存活主机_数据_09

可以帮助用户了解网络通行的情况

路由跟踪通过发送互联网控制消息协议 (ICMP) 数据包来发挥作用,参与传输数据的每个路由器都会获得这些数据包。ICMP 数据包提供关于传输中使用的路由器是否能够有效传输数据的信息。

互联网协议 (IP) 跟踪器有助于确定数据必须经过的路由跃点,以及数据在跨节点传输时的响应延迟(节点负责将数据发送到目的地)。路由跟踪还可以让您找到无法发送数据的位置,即故障点。您还可以进行可视化路由跟踪,以获取每个跃点的直观表示。

参考文章

1、https://zhuanlan.zhihu.com/p/408081179#:~:text=列表扫描仅仅列出,报文到目标主机。 2、 3、https://www.fortinet.com/cn/resources/cyberglossary/traceroutes 4、https://www.jianshu.com/p/1fc88c8e8504