一、wireshark介绍
1、定义
wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。对应的,linux下的抓包工具是 tcpdump。
1.1、网络基础
参考TCP/IP五层模型,帧结构如下:
帧字段 | 帧字段含义 |
Frame | 物理层的数据帧情况 |
Ethernet II | 数据链路层以太网帧头部信息 |
Internet Protocol Version 4 | 以太网协议层 |
Transmission Control Protocol | 传输控制协议 |
HyperText Transfer Protocol | 超文本传输协议 |
帧在传输层Transmission Control Protocol的表达方式(即TCP三次握手和四次挥手)
示例如下:
Transmission Control Protocol, Src Port: 59957, Dst Port: 443, Seq: 246, Ack: 4627, Len: 0 |
1.2、过滤规则
规则名称 | 规则用法 | 规则示例 |
IP过滤 | 不区分源和目的: ip addr 区分源和目的: (源)ip.src (目的)ip.dst | ip.addr==192.168.0.1 |
协议过滤 | tcp、udp、http、dns、icmp、arp | http |
协议字段过滤 | http请求方法: http.request.method tcp标志位: tcp.flags.syn dns查询名称: dns.qry.name | http.request.method=“GET” |
端口过滤 | tcp端口: tcp.port udp端口: udp.port | tcp.port==8080 |
数据包方向过滤 | 源地址数据包: src 目的地址数据包: dst | Src==192.168.0.1 |
数据包长度过滤 | frame.len | frame.len > 10 |
关键字过滤 |
1.3、运算符
运算符名称 | 运算符用法 | 运算符示例 |
比较运算符 | 大于> 小于< |