对目标主机进行扫描,实质上是向目标主机的指定端口发送 UDP Ping 包。如果目标主机开启,且对应端口打开,则不返回响应包;如果对应端口未打开,则返回目标主机不可达的 ICMP 包。
netwox 工具提供编号为 53 和 54 的模块,用来构造 UDP Ping 包。
【实例】已知目标主机 IP 地址为 192.168.59.135,其 MAC 地址为 00:0c:29:ca:e4:66。在主机 192.168.59.132 上实施扫描,判断目标主机是否启用,指定端口是否开放。
1) 判断目标主机是否启用,68 端口是否开放,执行命令如下:
root@daxueba:~# netwox 53 -i 192.168.59.135 -p 68
输出信息如下: Ok
Ok
Ok
Ok
Ok
… #省略其他信息
如果没有任何输出信息,有两种情况:第一种情况是目标主机不存在,第二种情况是目标主机已启用,端口处于开放状态。为了能够更清楚的判断需要进行抓包,通过查看是否有返回的响应来进行判断。
2) 如果没有相应,则捕获到的数据包如图所示。
3) 如果有相应,捕获到的数据包如图所示。
4) 在进行发送 UDP Ping 包对目标主机进行扫描时,为了避免被发现可以进行伪造 UDP Ping 包。设置假的源 IP 地址和 MAC 地址。
例如,伪造源 IP 地址为 192.168.59.170,源 MAC 地址为 1a:2b:3c:a1:b2:c3,执行命令如下:
root@daxueba:~# netwox 54 -i 192.168.59.135 -p 68 -E 1a:2b:3c:a1:b2:c3 -I 192.168.59.170 -e 00:0c:29:ca:e4:66
5) 通过抓包验证成功伪造的地址,如图所示。