32-第3章 数据链路层--抓包分析数据帧格式-OSI一图了然-小结

OSI理论模型

层级

名称

事物举例

功能

数据单位

别名

数据组成

协议举例

7

应用层

QQ、OA

网络通信

上层数据

 

上层数据

HTTP/FTP/DNS

6

表示层

web数据压缩、https加密

压缩、加密

上层数据

 

上层数据

5

会话层

端口号建立连接、释放连接

区分通信不混淆

上层数据

 

上层数据

4

传输层

TCP、UDP

可靠传输、流量控制、不可靠传输

数据段

 

TCP头+上层数据

TCP/UDP

3

网络层

IPv4、IPv6、路由器

选择最佳路径、规划IP(VLAN)

数据包

IP层

IP头+TCP头+上层数据

ARP/IP/ICMP/IGMP

2

数据链路层

交换机

帧的开始和结束、透明传输、检查错误

数据帧

MAC层

MAC头+IP头+TCP头+上层数据 +FCS校验

Ethernet/ATM/Frame Relay

1

物理层

电话线、光纤、WiFi、电压、波形

接口标准、电器标准

bit流

 

同步8字节+bit流化的:MAC头+IP头+TCP头+上层数据 +FCS校验

MAC头,主要携带mac地址信息。

IP头,主要携带IP地址信息。

TCP头,主要携带端口port信息。

一图了然:

 

数据帧的最小长度必须有64个字节,如果没有就凑齐64个。否则就会被网络设备丢弃。

抓包软件wireshark的使用。选择要抓包的网卡:本地连接2

wireshark过滤语法

https://blog.csdn.net/wojiaopanpan/article/details/69944970

1.过滤IP,如来源IP或者目标IP等于某个IP
例子:
ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107
或者
ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP

2.过滤端口
例子:
tcp.port eq 80 // 不管端口是来源的还是目标的都显示
tcp.port == 80
tcp.port eq 2722
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
udp.port eq 15000

过滤端口范围
tcp.port >= 1 and tcp.port <= 80


3.过滤协议
例子:
tcp
udp
arp
icmp
http
smtp
ftp
dns
msnms
ip
ssl
oicq
bootp
等等
排除arp包,如!arp 或者 not arp

4.过滤MAC
太以网头过滤
eth.dst == A0:00:00:04:C5:84 // 过滤目标mac
eth.src eq A0:00:00:04:C5:84 // 过滤来源mac
eth.dst==A0:00:00:04:C5:84
eth.dst==A0-00-00-04-C5-84
eth.addr eq A0:00:00:04:C5:84 // 过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的
less than 小于 < lt
小于等于 le
等于 eq
大于 gt
大于等于 ge
不等 ne

5.包长度过滤
例子:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后
eth —> ip or arp —> tcp or udp —> data

6.http模式过滤
例子:
http.request.method == “GET”
http.request.method == “POST”
http.request.uri == “/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.”
// GET包
http.request.method == “GET” && http contains “Host: “
http.request.method == “GET” && http contains “User-Agent: “
// POST包
http.request.method == “POST” && http contains “Host: “
http.request.method == “POST” && http contains “User-Agent: “
// 响应包
http contains “HTTP/1.1 200 OK” && http contains “Content-Type: “
http contains “HTTP/1.0 200 OK” && http contains “Content-Type: “
一定包含如下
Content-Type:

7.TCP参数过滤
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。
tcp.window_size == 0 && tcp.flags.reset != 1

 wireshark视频教程

http://edu.51cto.com/center/course/lesson/index?id=62733

追踪数据流:将TCP、UDP、SSL等数据流进行重组并完整呈现出来。

原文地址:https://www.cnblogs.com/andy9468/p/10120805.html