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

ping lwip网络协议栈 分析(一)

2015-12-25 19:55 417 查看
移植lwip网络协议栈:

硬件:cortex 内核的处理器--RAM==20K + ENC28J60网卡

下位机设备 ----网线直连 ---PC

实验: dos---ping指令--Wireshark抓包-简单分析ICMP报文

相关文章参见:利用Wireshark截取ICMP数据包,并对数据包进行解析

DOS---ping指令:

ping指令:ping 192.168.5.8 -t -l 800 ----800字节的数据



wireshark 抓到的包 层次结构:

看下wireshark 抓到的包:

抓包截图:



界面结构:

最上面为数据包列表,用来显示截获的每个数据包的总结性信息;
中间为协议树,用来显示选定的数据包所属的协议信息;

最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。

看到协议树的结构层次:

frame
eth
ip
icmp

下边看下这4层:

译:

1、frame



frame----7716号帧:传输了842字节(6736位),在接口0(对于wireshark来说的网卡ID)捕获了842字节。

frame.interface_id---接口ID:0
frame.encap_type---封装类型:以太网(1)

frame.time-------------到达时间:***

frame.offset_shift---该包的时移:0.000000000秒

frame.time_epoch---Epoch时间:***---frame.time_delta、frame.time_delta_displayed、frame.time_relative

frame.number:----帧数 7716

frame.len-------------帧长842字节

frame.cap_len------捕捉到的长度---frame.marked、frame.ignored、

frame.protocols----捕获到的当前帧协议:erh:ip:icmp:data

frame.coloring_rule.name(着色规则名称)、frame.coloring_rule.string(字符串)

2、eth



eth----以太网II,源MAC:*******,目标MAC:******

目的地址:

.... ...0. .... .... .... .... = LG位: 全球唯一的地址(恢复出厂设置)

.... ....0 .... .... .... .... =IG位: 个人地址(单播)

源地址

3、ip



IP网络协议 第4版,源IP:****** ,目的IP:*****

ip.version

ip.hdr_len-----header(标题) 长度

ip.dsfield----DiffServ--区分服务-------

ip.len----接下来的长度

ip.id

ip.flags

ip.frag_offset

ip.ttl---生存时间

ip.proto

ip.checksum---校验和

ip.src

ip.dst
text---源GeoIP(IP地理位置)
text----****

4、ICMP:



icmp----互联网控制消息协议

icmp.type

icmp.code

icmp.checksum

icmp.ident

icmp.ident

icmp.seq-----序列号(BE--大段格式)--0xcd6e

icmp.seq_le---LE小端格式的序列号:0x6ecd

data

data.len---:数据长度:800字节

以上.......................................wireshark 抓包看到的Ping指令执行过程

问:ping指令发送800字节,为何抓取到842字节呢?

多出的42字节是???
下图为:以太网网卡所收到的数据包的格式



就网络接口层而言,包头占用6+6+2=14字节,之后的数据为上层协议(就ping指令而言,为网络层的ICMP协议)封装后的数据;校验由网卡自行比对。
下图为ICMP标准格式:



知 IP头部+ICMP报文===即wireshark抓到的包--协议树后两层===28++==20+1+1+2+2+2+数据 字节,
ICMP封装了28字节的包头。---网络层(4层TCP/IP模型)
eth占用6+6+2=14字节===>网络接口层(4层TCP/IP模型)
即14+28=42字节
4层TCP/IP模型中,ICMP隶属网络层的协议,ping指令是网络层的指令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: