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

移植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 抓到的包:

抓包截图:

界面结构:

  1. 最上面为数据包列表,用来显示截获的每个数据包的总结性信息;
  2. 中间为协议树,用来显示选定的数据包所属的协议信息;
  3. 最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。

看到协议树的结构层次:

  • 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指令是网络层的指令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值