网络安全-主动信息收集篇第二章-三层网络发现之ping


第三层网络扫描基于TCP/IP、ICMP协议。

优点:可路由、速度比较快

缺点:相对于二层网络扫描较慢,容易被边界防火墙过滤

所有扫描发现技术,都会有相应的对抗办法,所以无论是来自二层的网络扫描还是来自三层的网络扫描,可能会存在误报和漏报的情况,所以不能绝对去不加以论证的方式去单纯相信扫描结果,但可以将扫描后的结果当作重要的参考。

例如:使用路由追踪的功能

image

可以看到跳转到第八台设备之时,可能边界设备开启了屏蔽ICMP协议响应,所以这里无法显示相关信息。

涉及协议概述:

ICMP协议:ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

PING命令:使用了ICMP两种类型的数据包,其中ICMP的TYPE类型字段一共有0-15个定义,每种类型都代表了不同的数据包类型,而PING命令则是使用了TYPE为8的类型的数据包,而接收到PING包的机器如果没有防火墙规则限制那么返回的则是ICMP的TYPE为0类型的数据包。

在此感谢来自百度百科的一张类型图。

image

参数:
  -d  使用Socket的SO_DEBUG功能。
  -c  <完成次数>   设置完成要求回应的次数。
  -f   极限检测。
  -i  <间隔秒数>   指定收发信息的间隔时间。
  -I  <网络界面>   使用指定的网络界面送出数据包。
  -l  <前置载入>   设置在送出要求信息之前,先行发出的数据包。
  -n  只输出数值。
  -p  <范本样式>   设置填满数据包的范本样式。
  -q  不显示指令执行过程,开头和结尾的相关信息除外。
  -r   忽略普通的Routing Table,直接将数据包送到远端主机上。
  -R  记录路由过程。
  -s  <数据包大小>   设置数据包的大小。
  -t  <存活数值>   设置存活数值TTL的大小。
  -v  详细显示指令的执行过程。

使用PING命令:

Linux下

image

windows下

image

在windows下的PING抓包分析

请求:

image

回应

image

Linux下的PING的抓包分析

请求

image

回应

image

分析得知:

1.根据请求的第一个包分析得之使用的是ICMP协议中的TYPE类型为8,CODE为0的数据包。

2.根据回应的第一个包分析得之使用的是ICMP协议中的TYPE类型为0,CODE为0的数据包。

使用PING对网络主机的发现方式:

1.使用脚本传入IP地址段,然后使用ping –c 检测存活主机。

2.使用scapy,组装IP包头和ICMP包头然后组合形成ping包faso能够出去。

image

实例化一个IP协议赋值给i,实例化一个ICMP协议赋值给p

image

将i、p组装成一个ping包,并将其实例化给ping

image

设定ping的IP包头的目的地地址

image

将组装好的ping包发送出去

image

查看所得到的回应,说明此主机存在于网络之中,如果主机不存在那么就不会得到响应。

posted @ 2019-07-26 01:52  不愿透露姓名的先生  阅读(497)  评论(0编辑  收藏  举报