ping lwip网络协议栈 分析(一)
2015-12-25 19:55
417 查看
移植lwip网络协议栈:
硬件:cortex 内核的处理器--RAM==20K + ENC28J60网卡
下位机设备 ----网线直连 ---PC
实验: dos---ping指令--Wireshark抓包-简单分析ICMP报文
相关文章参见:利用Wireshark截取ICMP数据包,并对数据包进行解析
抓包截图:
界面结构:
最上面为数据包列表,用来显示截获的每个数据包的总结性信息;
中间为协议树,用来显示选定的数据包所属的协议信息;
最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
看到协议树的结构层次:
frame
eth
ip
icmp
下边看下这4层:
译:
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(字符串)
eth----以太网II,源MAC:*******,目标MAC:******
目的地址:
.... ...0. .... .... .... .... = LG位: 全球唯一的地址(恢复出厂设置)
.... ....0 .... .... .... .... =IG位: 个人地址(单播)
源地址
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----****
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指令执行过程
下图为:以太网网卡所收到的数据包的格式
就网络接口层而言,包头占用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指令是网络层的指令。
硬件: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指令是网络层的指令。
相关文章推荐
- https和http的区别
- HTTP 与 HTTPS的区别。
- opencv中VideoCapture的使用——打开网络摄像头/图像序列
- Android热门网络框架Volley详解
- Python Network Programming(6)---Socket网络编程总结
- HTTP协议之:TCP连接详解
- tcp 出现rst情况整理
- 从自我学习到深层网络——建立你的第1个深度网络分类器
- http chunked数据包分析
- linux centos7 svn server 搭建 支持http访问
- HTTP请求中POST与GET的差别
- 扩展于RCLabel的支持异步加载网络图片的富文本引擎的设计
- 解决网络通信中外网和内网之间的通信问题(NAT转换)
- java.lang.RuntimeException:Picasso detected an unsupported OkHttp on the classpath 问题
- 判断任意两台计算机的IP地址是否属于同一子网络
- 学习文章---qperf测量网络带宽和延迟
- web压力测试工具siege和http_load
- servlet和http请求
- jQuery选择器大全(48个代码片段+21幅图演示)-转http://www.cnblogs.com/keepfool/archive/2012/06/02/2532203.html
- Spring HTTP Invoker