如何用VB来fiddler进行抓包ICMP包,和分析包数据

天极传媒:天极网全国分站
您现在的位置:
& &&互联网的巨大威胁 ICMP洪水攻击浅析
互联网的巨大威胁 ICMP洪水攻击浅析
HBU小组 09:56
  几年前的某天晚上9时,两个“大虾”进入一个聊天室,提议里面的50多个网民“去响应号召,做爱国的事”,以下是原话摘录:  大虾甲:今晚10点,大家一起去ping白宫!  大虾乙:嗯嗯!ping死白宫!  网民:怎么做?  大虾甲:你怎么这么笨?开MS-DOS窗口,输入 ping xxx.xxx.xxx.xxx -l 65500 -t就可以了!  网民:这样有什么用?  大虾甲:只要这样做,白宫网站就进不去了。  网民:哦~~原来如此~~~这样做是什么原理?可以解释一下吗?  大虾甲:这个嘛……还是让他来说吧!  大虾乙:这个……这个……咳,总之别问这么多,照着做就是了,上头说过好像是什么DOS攻击吧,这样做,白宫网站的就会垮掉。  大虾甲:总之到时候你们一起这样做就可以了!10点准时开始,我们先去准备了!  网民:不懂……  不懂归不懂,当晚10点,爱国的网民们一起用上面“高手”给出的命令开始了雄伟的“爱国反击战”――一场无聊的闹剧!  他们这样做是什么原理?那样的“攻击”有效吗?要解释这些,就要从ICMP协议说起。  一、什么是ICMP协议?  ICMP全称Internet Control Message Protocol(网际控制信息协议)。提起ICMP,一些人可能会感到陌生,实际上,ICMP与我们息息相关。在网络体系结构的各层次中,都需要控制,而不同的层次有不同的分工和控制内容,IP层的控制功能是最复杂的,主要负责差错控制、拥塞控制等,任何控制都是建立在信息的基础之上的,在基于IP数据报的网络体系中,必须自己处理数据报的传输工作,而IP协议自身没有内在机制来获取差错信息并处理。为了处理这些错误,TCP/IP设计了ICMP协议,当某个网关发现传输错误时,立即向信源主机发送ICMP报文,报告出错信息,让信源主机采取相应处理措施,它是一种差错和控制报文协议,不仅用于传输差错报文,还传输控制报文。
  二、ICMP报文格式  ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文(见图表,ICMP报文的结构和几种常见的ICMP报文格式),IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型(Type)域用于说明ICMP报文的作用及格式,此外还有一个代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。RFC定义了13种ICMP报文格式,具体如下:  类型代码 类型描述  0 响应应答(ECHO-REPLY)  3 不可到达  4 源抑制  5 重定向  8 响应请求(ECHO-REQUEST)  11 超时  12 参数失灵  13 时间戳请求  14 时间戳应答  15 信息请求(*已作废)  16 信息应答(*已作废)  17 地址掩码请求  18 地址掩码应答  其中代码为15、16的信息报文已经作废。  下面是几种常见的ICMP报文:  1.响应请求  我们日常使用最多的ping,就是响应请求(Type=8)和应答(Type=0),一台主机向一个节点发送一个Type=8的ICMP报文,如果途中没有异常(例如被丢弃、目标不回应ICMP或传输失败),则目标返回Type=0的ICMP报文,说明这台主机存在,更详细的tracert通过计算ICMP报过的节点来确定主机与目标之间的网络距离。  2.目标不可到达、源抑制和超时报文  这三种报文的格式是一样的,目标不可到达报文(Type=3)在路由器或主机不能传递数据报时使用,例如我们要连接对方一个不存在的系统端口(端口号小于1024)时,将返回Type=3、Code=3的ICMP报文,它要告诉我们:“嘿,别连接了,我不在家的!”,常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)等。源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率。最后,无连接方式网络的问题就是数据报会丢失,或者长时间在网络游荡而找不到目标,或者拥塞导致主机在规定时间内无法重组数据报分段,这时就要触发ICMP超时报文的产生。超时报文的代码域有两种取值:Code=0表示传输超时,Code=1表示重组分段超时。  3.时间戳  时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个时间差。一些系统不响应这种报文。  三、回到正题:这样的攻击有效吗?  在前面讲过了,ping使用的是ECHO应答,不知道大家注意过没有,ping的返回很慢,用NetXRAY抓包仅为1--5包/秒,这是为什么呢?事实上,ICMP本身并不慢(由于ICMP是SOCK_RAW产生的原始报文,速度比SOCK_STREAM的SYN和SOCK_DGRAM的UDP要快几乎10倍!),这样的速度是ping程序故意延迟的(为什么?M$可不想每个人都能用ping来干坏事),同样,我测试过一些号称“ping洪水”的程序,发现它们的效率和ping.exe没什么两样,经过Dependency Walker查看程序调用的函数发现,他们用的是icmp.dll提供的IcmpSendEcho这个API,这个函数是计算ECHO时间的,速度当然慢!而那两个“高手”号召的ping攻击实际上就是为了实现ICMP洪水攻击,但是他们用的方法……想想洪水的速度和山涧小溪的速度相差多少吧!就用ping.exe和IcmpSendEcho这种小溪慢慢流淌的速度能做什么?还不是让人家看笑话!这种攻击根本就是浪费自己的时间!(如今还经常有人问ping -l 65500 -t的攻击威力如何……哎,悲哀啊悲哀……)
(作者:小金责任编辑:原野)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
Win10系统在Win8的基础上对界面、特性以及跨平台方面做了诸多优化。
手机整机DIY企业级
pc软件手机软件Wireshark在什么情况下能抓到icmp数据包?_百度知道
Wireshark在什么情况下能抓到icmp数据包?
我有更好的答案
本来就可以抓到啊,你在数据包里面仔细找找
不行啊,根本就找不着呢,你知道在访问什么时会抓到ICMP包不?
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。拒绝访问 | www.wangchao.net.cn | 百度云加速
请打开cookies.
此网站 (www.wangchao.net.cn) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(4d4cfc-ua98).
重新安装浏览器,或使用别的浏览器下次自动登录
现在的位置:
& 综合 & 正文
ICMP协议之ping实现
1. 相关ICMP协议概述  这里只讲解与ping有关的ICMP消息类型,主机发送回送消息(Type = 8),被请求主机回送响应消息(Type = 0),基本格式如下:  回送消息[ECHO]
   回送响应消息[ECHO REPLY]
   其中oCode = 0,     oCheckSum为校验和,重点注意从ICMP的头部(即Type开始),到data结束(即到整个数据包结束),具体计算见下面分析     oIdentifier为标识符,由主机设定,一般设置为进程号,回送响应消息与回送消息中identifier保持一致     oSequence Number为序列号,由主机设定,一般设为由0递增的序列,回送响应消息与回送消息中Sequence Number保持   一致     odata为数据,由主机设定,回送响应消息与回送消息中data保持一致
2. Ping流程  Ping实际上利用的就是ICMP ECHO和ICMP ECHO REPLY包来探测主机是否存在,所以Ping程序的流程十分简单:发送ICMP    ECHO包---- & 接收ICMP ECHO REPLY包  发送ICMP ECHO包时填充Identifier为进程ID, Sequence Number为从0递增计数,data填充为发送时间  接收ICMP ECHO REPLY包时检查Identifier, Sequence Number是否正确,通过IP报头的源地址字段获得回送报文的主机地址是否正确
3. 模拟Ping实现pingy  Ping的基本流程已讲解完
  由于要自己构造ICMP包,因此创建需要创建原始套接字(即需要自己填充报头):         sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)  SOCK_RAW用于直接访问网络层,应用程序负责构造自己的协议首部;IPPROTO_ICMP表示ICMP报头由程序构造  构造ICMP报头,注意各个字段的填充,特别是校验和(可以参照icmp的结构定义)          icmp-&icmp_type          icmp-&icmp_code          icmp-&icmp_cksum          icmp-&icmp_id          icmp-&icmp_seq          icmp -&icmp_
  而完成系统的Ping命令还需添加信息统计,如发送字节数,收到字节数,发送包,接收包,发送时间,TTL等;另外,添加信号处理,在用户使用Control^C等退出时打印即时信息
4. 具体代码见附件
5. 最终效果如下
【上篇】【下篇】协议数据包的捕获与分析实习报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
协议数据包的捕获与分析实习报告
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩11页未读,
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 如何进行抓包 的文章

 

随机推荐