请各位看官老爷动动发财的小手点点广告,没钱吃饭了快吃土了都呜呜呜
wireshark简介
-
前生是1997年开始的Ethereal软件
-
网络封包分析,捕获网络封包,显示网络封包资料
wireshark主要功能
-
网络分析任务
-
查看网络通信情况,查看主机与其他设备数据交互、无人值守捕获数据包、分析网络协议
-
故障排除任务
-
查找网络延迟原因、查找应用程序通信错误原因、查看网络配置错误
-
安全取证任务
-
在网络流量中查找攻击者信息、确定攻击手段与攻击路径、确定安全事件成果
wireshark安装使用
wireshark界面
-
1、标题栏,用于显示打开文件的名称或捕获的设备名称;
-
2、菜单栏,标准菜单按钮,与其他软件没有太大差别,提供使用相应功能的入口;
-
3、工具栏,常用工具按键,提供快速打开的功能的入口,如开始/停止捕获、捕获选项、文件操作、查找数据包等;
-
4、显示过滤区域,过滤器位置,用于过滤捕获的数据包,在区域之后会有专门的章节讲解;
-
5、Packet List面板,数据包摘要信息;
-
6、Packet Details面板,数据包细节信息;
-
7、Packet Bytes面板,以十六进制与ASCII格式显示数据包内容;
-
8、状态栏,显示包数量与配置信息。
数据包格式
-
List
-
List面板中显示了此数据的摘要信息,主要包括了数据包编号(NO.)、相对时间(Time)、原计划(Source)、目的地址(Destination)、协议类型(Protocol)、长度(Length)、摘要信息(Info)。
-
Details
-
Details面板展示了此数据包的细节信息,从上到下依次是:Frame:数据帧头部信息;
-
Ethernet ll:数据链路层的数据帧(以太网)头部信息;
-
Internet Protocol Version 4:网络层的数据包(IPv4)头部信息;
-
Transmission Control Protocol:传输层的数据段(TCP)头部信息;
-
Hypertext Transfer Protocol:应用层(HTTP)信息。
此面板中信息为Wireshark格式化之后的信息,亦是为了方便人的查看。
-
Bytes
过滤器
捕获过滤器
wireshark是网络流量分析软件,在计算机中或网络中的网络流量是十分庞大的,这些流量也需要缓存或者保存下来,所以第一步是捕获需要的流量,丢弃无用的流量。
主要语法
-
根据MAC筛选
-
捕获单个MAC:ether host 00:00:5e:00:53:00
-
捕获源/目的MAC:ether src/dst 00:00:5e:00:53:00
-
排除MAC:not ether host 00:00:5e:00:53:00
-
根据IP筛选
-
捕获单个IPv4:host 192.168.111.51 (ip.addr eq 192.168.111.51)
-
捕获单个IPv6:host 2001:DB8:0:23:8:800:200C:417A
-
排除单个IP:not host 192.168.111.51
-
捕获源/目的地址:src/dst host 192.168.111.51
-
捕获单个域名:host www.sangfor.com.cn
-
复杂条件:host 192.168.111.51 or host www.sangfor.com
-
根据应用筛选
-
根据端口号:port 80、tcp port 80;
-
根据协议:tcp、udp、http;
显示过滤器
通过设置捕获过滤器,可以丢弃很多无用的数据包,但对于流量分析工具来说,流量依然很大。特别是对于单一的问题,需要找到指定的数据包进行查看,这时就需要显示过滤器了。
-
显示过滤器位置
主要语法
-
显示过滤器语法
-
照协议过滤,直接输入协议名称即可:
-
arp
-
ip
-
tcp
-
按照应用过滤,直接输入应用名称即可:
-
http
-
ftp
-
按照特殊字段进行过滤,协议或应用后面输入符号",",可根据提示信息进行输入:
-
红色:语法错误
-
绿色:语法正确
-
黄色:语法正确,但可能无结果
比较运算符
-
可以指定具体字段的具体内容,支持符号写法与英文写法,意义相同,具体如下:
含义 |
符号写法 |
英文写法 |
等于 |
= |
eq |
不等于 |
!= |
ne |
大于 |
> |
gt |
小于 |
< |
lt |
不小于 |
>= |
ge |
不大于 |
<= |
le |
显示过滤器语法
-
示例:
-
指定IP地址:ip,addr == 192.168.111.51
-
指定源IP地址:ip,src == 192.168.111.51
-
指定目的IP地址:ip.dst == 192.168.111.51
-
tcp端口不为80:tcp.srcport != 80
-
tcp端口小于1024:tcp.srcport < 1024
-
显示过滤器语法
-
逻辑运算符
-
可通过与,或,非等逻辑运算符并列条件,具体如下:
含义 |
符号写法 |
英文写法 |
与 |
&& |
and |
或 |
|| |
or |
异或 |
^^ |
xor |
非 |
! |
not |
实例
-
显示过滤器语法
-
如:过滤ip地址为192.168.111.51并且HTTP数据包中包含DET字段的数据包
-
ip.addr == 192.168.111.51 and http contains "GET"
-
添加显示列
-
Detail面板数据较多,有时需要快速浏览特定字段而不想打开,每个数据包进行1查看,可将特定字段添加到List面板上。
-
选中HTTP数据包中的Host字段,右键选择“应用为列”,这样特殊的字段就
-
保存过滤后的数据
-
选择文件->导出特定分组,选择展示区域,导出即可。
-
根据协议特征进行过滤
-
arp.opcode == 1 //过滤ARP请求帧
-
arp.opcode == 2 //过滤ARP应答帧
-
tcp.flags.syn == 1 //过滤SYN标记位置为1的数据包
-
tcp.flags.fin == 1 //过滤FIN标记位置为1的数据包
-
根据http
-
http.host == 192.168.0.1 //过滤指定主机名
-
http.requset.method == "GET" //过滤请求方法
-
http.cookie 过滤包含cookie的数据包
-
http contains “GET”//HTTP数据包中包含GET字段
-
根据DNS
-
dns.flags.response ==0 //DNS查询
-
dns.flags.response == 1 //DNS响应
数据统计
网络中的数据量十分巨大的,很多时候我们需要对数据包进行一个统计,比如找出网络中那台主机的流量最大,网络中是否会出现大量非法请求等。
这时我们需要的是wireshark提供的统计功能。
捕获文件属性
-
点击菜单栏“统计-捕获文件属性”,这里显示了捕获文件的总体信息。
-
主要包括抓包的时间、使用的网卡、操作系统、每秒字节数等信息。
协议分级
-
点击菜单栏“统计-协议分级”,这里显示了协议相关信息。
-
这里主要看各协议的种类和占比情况
端点统计
-
点击菜单栏中“统计->Endpoints”,在顶部的选项卡中,列出了对端点进行分类的指标,如MAC地址、IPv4、IPv6等。每个栏目的具体内容中也具有相应的统计信息。
-
Address:端点地址
-
Packets:数据包数量
-
Bytes:数据包大小
-
Tx:代表发送方
-
Rx:代表接收方
-
通过点击列名可进行排序,我们找出数据包数量最大的IP地址:
-
菜单栏中选择“统计-对话”,可以调出端点之间通信的统计信息:
网络会话统计
-
依然通过排序可以看到,0.0.0.0与255.255.255.255的数据包量最大。根据日常业务需求来看,一般不会在短时间内出现如此大量的数据包,网络中应该也出现了一些状况(此处可能发生了DHCP地址耗尽攻击)。
-
通过各层是的应用信息,可以发现一些网络异常状况,然后进一步分析原因。
-
数据链路层:若广播包过多,可能发生的广播风暴;
-
网络层:若单个IP与其他IP均具有会话信息,该IP可能进行了工具扫描;
-
传输层:如果出现了特殊端口的连接,可能已经被攻击了。
-
应用为显示过滤器
-
这里如果发现了异常的统计信息,可以快速的生成过滤条件,便于分析具体问题,右键选种某行,选择”作为过滤器应用-选中-A-B(或其他)“,这样就直接生成了显示过滤器条件,并进行过滤了。
HTTP统计
-
统计菜单栏里还具有单独的HTTP统计工具,可以选择”统计-HTTP-请求“
-
这里可以对HTTP请求中的URL进行统计
-
还有一种情况,比如在请求中发现了类似于xxx.com/shell.php,则可能网站已经被攻击者上传了木马。
IP统计
-
在统计菜单栏中,还有IP地址的统计,选择"统计-IP Statistics-Destinations and Ports",这里可以看到针对于单个IP的统计信息,包括端口通信信息。
图形统计工具
-
菜单栏中选择"统计-I/O图表",窗口如下:
-
这里能发现两个问题,一是短时间内出现了两次大流量的数据包,二是图中出现了很多TCP错误的数据包。
IP统计
-
X轴配置
-
X轴为时间轴,根据需求配置1毫秒-10分钟,同时还有两个选项"一天时钟",勾选"一天时钟"将展示具体时间。
-
Y轴配置
-
可点击下方的"+"号来增加曲线,勾选对号才会显示,可增加过滤器、颜色、显示方式、单位等信息。
-
比如增加过滤条件,针对某一IP:
-
ip.dst == 10.XXX.XXX.127 //下行流量
-
ip.src == 10.XXX.XXX.127//上行流量
图形统计工具
-
可以看到,当观看视频时候,下行流量会明显增多。
-
切换单位为Bytes,可观察上行流量均是小包,而下行流量均为打包。
URL和URl
URL(统一资源定位符)
-
语法规则
scheme://host.domain:port/path/filename
-
scheme - 定义因特网服务的类型。最常见的类型是http
-
host - 定义域主机(http的默认主机是www)
-
domain - 定义因特网域名,比如sangfor.com
-
port - 定义服务器上的路径(如果省略,则文档必须位于网站根目录中)。
-
filename - 定义文档/资源的名称
URI(统一资源标识符)
URI,用字符串标识某一互联网资源。
-
ftp://ftp.is.co.za/rfc/rfc1808.txt
-
http://www.sangfor.com.cn/rfc/rfc1808.txt
URL和URI的对比
-
URL给出资源位于哪里(哪台主机、那个路径、那个文件夹)
-
URI给出具体某资源的定位路径(从资源自身出发,给出可达的路径)
请求方法
方法是为了告知服务端,该请求的意图是什么,向服务器所请求的资源下达命令。
-
HTTP1.1的主要请求方法包括:
-
GET 获取资源
-
POST传输实体主体
-
PUT传输文件
-
OPTIONS询问支持的方法
-
HEAD获得报文首部
-
DELETE删除文件
-
TRACE追踪路径
-
CONNECT要求用隧道协议链接代理
原文始发于微信公众号(网络安全与取证研究):带你了解wireshark网络抓包分析,一篇就够!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论