您的位置:首页 > 理论基础 > 计算机网络

tcpdump+wireshark分析数据笔记(1)

2015-09-25 10:45 507 查看

测试环境:

两台pc机器

PC1:上面装有FPGA单板,单板上有TOE模块,模块的MAC地址为55:55:aa:aa:00:24,IP地址为67.153.0.0

PC2:上面安装有solarflare SFN7122F万兆网卡。

两台pc的连接方式:

PC1 --> DMA --> FPGA(TOE) --> 光纤 --> SNF7122F --> PC2 --> socket程序 --> PC2 --> SFN7122F --> 光纤 --> FPGA(TOE) --> DMA --> PC2

测试方法:

在pc2上启动tcpdump监听eth2网卡(67.153.0.10)上的数据包

在pc2上面启动一个socket程序,作为server监听port(如65044),接收此port的数据,并把数据原封不动的发回去。

在pc1上驱动中<1>TOE建立一个连接,端口为pc2上监听的端口。<2>驱动中发数据,数据通过DMA通道传输到FPGA的TOE。

下面是tcpdump抓到的包用wireshark分析:



图1
从图1中看到头两条是ARP包,编号为3、4、5的是TCP建立连接的包。6以后的包是TOE发出的ARP包,这个是使用的TOE模块的一个bug。

ARP请求与应答

编号为1的ARP包,是PC1上TOE对PC2上的SFN7122F发起的ARP请求。



图2ARP请求

从图2可以看到ARP封包格式中各个字段的值。ARP封包整体上分为两个部分:Ethernet帧头+28字节的ARP封包。

Ethernet帧头对应于图2中红色框。Ethernet的目的地址是一个广播地址,源地址是TOE的MAC地址55:55:aa:aa:00:24,帧类型值0x806,表示是ARP请求或应答。

28字节的ARP封包对应于图2中的蓝色框。硬件协议类型为1表示以太网地址;协议类型为0x0800,表示要映射的协议地址类型为IP地址;硬件地址长度和协议地址长度分别为6和4字节大小;操作码为1,表示ARP请求;发送者MAC地址为55:55:aa:aa:00:24;发送者IP地址为67.153.0.0;目的MAC地址为全0,对于一个ARP请求来说,就是要解析目的端的MAC地址,这里不用填充。

下面看下编号为2的ARP包:



图3 ARP应答
图3中所示是ARP应答包的信息。和前面的ARP请求相比,变化在于操作码变为了2。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: