ARP+ICMP请求和回复信息

ARP+ICMP请求和回复信息

ID:40521267

大小:178.00 KB

页数:13页

时间:2019-08-04

ARP+ICMP请求和回复信息_第1页
ARP+ICMP请求和回复信息_第2页
ARP+ICMP请求和回复信息_第3页
ARP+ICMP请求和回复信息_第4页
ARP+ICMP请求和回复信息_第5页
资源描述:

《ARP+ICMP请求和回复信息》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、下图是ping装置时抓图工具显示的提示信息:电脑:MAC:00:25:11:6f:7b:16IP:192.168.2.30装置:MAC:ac:de:48:00:00:80IP:192.168.2.5图1图1显示先是ARP广播,然后电脑收到了ARP回复(信息如图2),之后电脑又发ICMP命令请求(信息如图3),但没有收到回复,ping不通。图2图2是ARP回复的信息,从上图可以看到ARPFramechecksequence不对,但ARP回复(reply)信息的MAC地址和IP地址都是正确的图3图3是电脑的ICMP请求信息,从图3来看 请求信息正常,校验也正确,但就是收不到回复ARP报文被封装

2、在以太网帧头部中传输,如图所示,是ARP请求协议报文头部格式。>上图中粗体的部分是以太网(这里是EthernetII类型)的帧头部。其中:第一个字段是广播类型的MAC地址:0XFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机。第二个字段是源MAC地址,即请求地址解析的主机MAC地址。第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARP协议。最后一个字段FCS,是4个字节的帧校验序列(FrameCheckSequence,FCS),采用32位CRC循环冗余校验对从"目标MAC地址"字段到"数据"字段的数据进行校验。接下来是ARP协议报文部分。其中各个字段的含义如下:

3、硬件类型:表明ARP实现在何种类型的网络上。协议类型:代表解析协议(上层协议)。这里,一般是0800,即IP。硬件地址长度:MAC地址长度,此处为6个字节。协议地址长度:IP地址长度,此处为4个字节。操作类型:代表ARP数据包类型。0表示ARP请求数据包,1表示ARP应答数据包。源MAC地址:发送端MAC地址。源IP地址:代表发送端协议地址(IP地址)。目标MAC地址:目的端MAC地址(待填充)。目标IP地址:代表目的端协议地址(IP地址)。ARP应答协议报文和ARP请求协议报文类似。不同的是,此时,以太网帧头部的目标MAC地址为发送ARP地址解析请求的主机的MAC地址,而源MAC地址为被

4、解析的主机的MAC地址。同时,操作类型字段为1,表示ARP应答数据包,目标MAC地址字段被填充以目标MAC地址。////////////////////////////////////////////////////////////////////////////////   我也不知道怎么搞得,奇怪了,我的8019驱动为什么能收ARP,UDP包,却收不到ICMP和TCP包!!   ARP已经通了,而中断对icmp(ping)和tcp(telnet)却不理??我是用Ethereal抓的包。   各位碰到没有,帮我想想问题出在那儿了!!多谢!!同样是数据包,差距咋这么大呢!!即然能正确接收A

5、RPUDP包,说明我的8019驱动应该是好的吧?怎么会有这种问题???ping172.16.4.15     这个ip不存在,发4个ARP包,都能接收并处理;ping17727           17727当作主机名,发3个NBNS包,nbns是udp,能收到;ping172.16.4.18     8019的ip,发4个ICMP包,网卡根本不中断;telnet172.16.4.187  发3个TCP包,没反应:(?????????????????????????兄弟们帮忙分析一下,想不通啊!!多谢答2:把驱动源代码贴出,这样才好帮你改,这样说鬼知道是什么问题答3:应该是软件问题,好好找

6、找。答4:是skyeye杨晔的驱动驱动太长了,能把人看晕的下面是8019中断的代码,我就在这里设断点,ARPUCP包能中断,而icmp和tcp就停不下来。????void__irq  ne2k_isr(void){    u8_t  isr,curr,bnry;    structnetif*netif;    rI_ISPC=BIT_EINT1;    //closenic    //********************addbymaokorfordebug,2005.6.17*******    outb(CMD_PAGE2

7、CMD_NODMA

8、CMD_STOP,NE_CR);  

9、  isr=inb(NE_IMR);    //*****************************************************888888    //inPAGE0    outb(CMD_PAGE0

10、CMD_NODMA

11、CMD_STOP,NE_CR);    isr=inb(NE_ISR);    //ramoverflowinterrupt    if(isr&ISR_OVW){     

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。