超详细的Wireshark使用教程
一、wireshark是什么?
wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。
wireshark是开源软件,可以放心使用。可以运行在Windows和MacOS上。对应的,linux下的抓包工具是tcpdump。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。
二、Wireshark常用应用场景
1。网络管理员会使用wireshark来检查网络问题
2。软件测试工程师使用wireshark抓包,来分析自己测试的软件
3。从事socket编程的工程师会用wireshark来调试
4。运维人员用于日常工作,应急响应等等
总之跟网络相关的东西,都可能会用到wireshark三、Wireshark抓包原理
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
Wireshark使用的环境大致分为两种,一种是电脑直连网络的单机环境,另外一种就是应用比较多的网络环境,即连接交换机的情况。
单机情况下,Wireshark直接抓取本机网卡的网络流量;
交换机情况下,Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。
端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。四、Wireshark软件安装
软件下载路径:
https:www。wireshark。org
按照系统版本选择下载,下载完成后,按照软件提示一路Next安装。
五、Wireshark抓包示例
先介绍一个使用wireshark工具抓取ping命令操作的示例,可以上手操作感受一下抓包的具体过程。
1、打开wireshark,主界面如下:
2、选择菜单栏上捕获选项,勾选WLAN网卡。这里需要根据各自电脑网卡使用情况选择,简单的办法可以看使用的IP对应的网卡。点击Start,启动抓包。
3、wireshark启动后,wireshark处于抓包状态中。
4、执行需要抓包的操作,如在cmd窗口下执行pingwww。baidu。com。
5、操作完成后相关数据包就抓取到了,可以点击停止捕获分组按钮。
6、为避免其他无用的数据包影响分析,可以通过在过滤栏设置过滤条件进行数据包列表过滤,获取结果如下。说明:ip。addr183。232。231。172andicmp表示只显示ICPM协议且主机IP为183。232。231。172的数据包。说明:协议名称icmp要小写。
7、wireshark抓包完成,并把本次抓包或者分析的结果进行保存,就这么简单。关于wireshark显示过滤条件、抓包过滤条件、以及如何查看数据包中的详细内容在后面介绍。
六、Wireshakr抓包界面介绍
Wireshark的主界面包含6个部分:
菜单栏:用于调试、配置
工具栏:常用功能的快捷方式
过滤栏:指定过滤条件,过滤数据包
数据包列表:核心区域,每一行就是一个数据包
数据包详情:数据包的详细数据
数据包字节:数据包对应的字节流,二进制
说明:数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏视图着色规则。如下所示
WireShark主要分为这几个界面1。DisplayFilter(显示过滤器)
用于设置过滤条件进行数据包列表过滤。菜单路径:分析DisplayFilters。
2。PacketListPane(数据包列表)
显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。不同协议的数据包使用了不同的颜色区分显示。
3。PacketDetailsPane(数据包详细信息)
在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为
(1)Frame:物理层的数据帧概况
(2)EthernetII:数据链路层以太网帧头部信息
(3)InternetProtocolVersion4:互联网层IP包头部信息
(4)TransmissionControlProtocol:传输层T的数据段头部信息,此处是TCP
(5)HypertextTransferProtocol:应用层的信息,此处是HTTP协议
TCP包的具体内容
从下图可以看到wireshark捕获到的TCP包中的每个字段。
4。DissectorPane(数据包字节区)
报文原始内容。
七、Wireshark过滤器设置
初学者使用wireshark时,将会得到大量的冗余数据包列表,以至于很难找到自己需要抓取的数据包部分。
wireshark工具中自带了两种类型的过滤器,学会使用这两种过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。1。抓包过滤器
捕获过滤器的菜单栏路径为捕获捕获过滤器。用于在抓取数据包前设置。
如何使用呢?设置如下。
iphost183。232。231。172表示只捕获主机IP为183。232。231。172的数据包。获取结果如下:
2。显示过滤器
显示过滤器是用于在抓取数据包后设置过滤条件进行过滤数据包。
通常是在抓取数据包时设置条件相对宽泛或者没有设置导致抓取的数据包内容较多时使用显示过滤器设置条件过滤以方便分析。
同样上述场景,在捕获时未设置抓包过滤规则直接通过网卡进行抓取所有数据包。
执行pingwww。baidu。com获取的数据包列表如下
观察上述获取的数据包列表,含有大量的无效数据。这时可以通过设置显示器过滤条件进行提取分析信息。ip。addr183。232。231。172,并进行过滤。
上述介绍了抓包过滤器和显示过滤器的基本使用方法。在组网不复杂或者流量不大情况下,使用显示器过滤器进行抓包后处理就可以满足我们使用。下面介绍一下两者间的语法以及它们的区别。八、wireshark过滤器表达式的规则1。抓包过滤器语法和实例
抓包过滤器类型Type(host、net、port)、方向Dir(src、dst)、协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)、逻辑运算符(与、或、!非)
(1)协议过滤
比较简单,直接在抓包过滤框中直接输入协议名即可。
tcp,只显示TCP协议的数据包列表
http,只查看HTTP协议的数据包列表
icmp,只显示ICMP协议的数据包列表
(2)IP过滤
host192。168。1。104
srchost192。168。1。104
dsthost192。168。1。104
(3)端口过滤
port80
srcport80
dstport80
(4)逻辑运算符与、或、!非
srchost192。168。1。104dstport80抓取主机地址为192。168。1。80、目的端口为80的数据包
host192。168。1。104host192。168。1。102抓取主机为192。168。1。104或者192。168。1。102的数据包
!broadcast不抓取广播数据包2。显示过滤器语法和实例
(1)比较操作符
比较操作符有
等于、!不等于、大于、小于、大于等于、小于等于
(2)协议过滤
比较简单,直接在Filter框中直接输入协议名即可。注意:协议名称需要输入小写。
tcp,只显示TCP协议的数据包列表
http,只查看HTTP协议的数据包列表
icmp,只显示ICMP协议的数据包列表
(3)ip过滤
ip。src112。53。42。42显示源地址为112。53。42。42的数据包列表
ip。dst112。53。42。42,显示目标地址为112。53。42。42的数据包列表
ip。addr112。53。42。42显示源IP地址或目标IP地址为112。53。42。42的数据包列表
(4)端口过滤
tcp。port80,显示源主机或者目的主机端口为80的数据包列表。
tcp。srcport80,只显示TCP协议的源主机端口为80的数据包列表。
tcp。dstport80,只显示TCP协议的目的主机端口为80的数据包列表。
(5)http模式过滤
http。request。methodGET,只显示HTTPGET方法的。
(6)逻辑运算符为andornot
过滤多个条件组合时,使用andor。比如获取IP地址为192。168。0。104的ICMP数据包表达式为ip。addr192。168。0。104andicmp
(7)按照数据包内容过滤
假设我要以ICMP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。
右键单击选中后出现如下界面
选中后在过滤器中显示如下
后面条件表达式就需要自己填写。如下我想过滤出data数据包中包含abcd内容的数据流。关键词是contains,完整条件表达式为datacontainsabcd
看到这,基本上对wireshak有了初步了解。3。常见用显示过滤需求及其对应表达式
数据链路层:
筛选mac地址为04:f9:38:ad:13:26的数据包
eth。src04:f9:38:ad:13:26
筛选源mac地址为04:f9:38:ad:13:26的数据包
eth。src04:f9:38:ad:13:26
网络层:
筛选ip地址为192。168。1。1的数据包
ip。addr192。168。1。1
筛选192。168。1。0网段的数据
ipcontains192。168。1
传输层:
筛选端口为80的数据包
tcp。port80
筛选12345端口和80端口之间的数据包
tcp。port12345tcp。port80
筛选从12345端口到80端口的数据包
tcp。srcport12345tcp。dstport80
应用层:
特别说明:http中http。request表示请求头中的第一行(如GETindex。jspHTTP1。1)http。response表示响应头中的第一行(如HTTP1。1200OK),其他头部都用http。headername形式。
筛选url中包含。php的http数据包
http。request。uricontains。php
筛选内容包含username的http数据包
httpcontainsusername九、Wireshark抓包分析TCP三次握手1。TCP三次握手连接建立过程
Step1:客户端发送一个SYN1,ACK0标志的数据包给服务端,请求进行连接,这是第一次握手;
Step2:服务端收到请求并且允许连接的话,就会发送一个SYN1,ACK1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;
Step3:服务端发送一个SYN0,ACK1的数据包给客户端端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。
2。Wireshark抓包获取访问指定服务端数据包
Step1:启动wireshark抓包,打开浏览器输入www。baidu。com。
Step2:使用pingwww。baidu。com获取IP。
Step3:输入过滤条件获取待分析数据包列表ip。addr183。232。231。172
图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTPS的,这说明HTTPS的确是使用TCP建立连接的。
第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0,代表客户端请求建立连接。
数据包的关键属性如下:
SYN:标志位,表示请求建立连接
Seq0:初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
Ack0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据
第二次握手的数据包
服务器发回确认包,标志位为SYN,ACK。将确认序号(AcknowledgementNumber)字段1,即011。
数据包的关键属性如下:
〔SYNACK〕:标志位,同意建立连接,并回送SYNACK
Seq0:初始建立值为0,表示当前还没有发送数据
Ack1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)
第三次握手的数据包
客户端再次发送确认包(ACK)SYN标志位为0,ACK标志位为1。并且把服务器发来ACK的序号字段1,放在确定字段中发送给对方,并且在Flag段写ACK的1:
数据包的关键属性如下:
ACK:标志位,表示已经收到记录
Seq1:表示当前已经发送1个数据
Ack1:表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。
就这样通过了TCP三次握手,建立了连接。开始进行数据交互
十、Wireshark分析常用操作
调整数据包列表中时间戳显示格式。调整方法为视图时间显示格式日期和时间。调整后格式如下:
一般Wireshark软件也可以与各主流厂家的模拟器一起使用,更适合于项目准确配置。
18岁凌杰胜任韦世豪位置,广州队在低谷惊喜不断,你怎么看?18岁凌杰胜任韦世豪位置,广州队在低谷惊喜不断,自然少不了球迷的支持,也少不了球员的拼尽全力。也表示,广州队的更新换代加速。广州队遇挫折不后退,广州队冠军终归这里。相信这一句广州队
想买块女士手表,要怎么选?有没有推荐?女士手表一般选择卡地亚浪琴欧米茄和积家比较多,可以看一下自己的预算再进行选择。预算较低可以选择浪琴和欧米茄,较高的话可以考虑卡地亚和积家。浪琴制表传统系列L4。310。4。97。6
自驾游去哪里比较好?国内自驾游的好地方太多了。人有百态,车有多种,这要看自驾游者喜欢什么地方。凡是有路的地方,只要车的四个轮子不陷进去都可以去。本身自驾游者们都是有钱的主,祖国的名山脚底下停车位多大川
如果宇航员脱掉宇航服,在太空停留1秒钟,会有什么后果?谢邀!众所周知,外太空不仅温度低,还充斥着各种各样的宇宙射线。为了应对这样恶劣的环境,我们都要为宇航员们制定昂贵的宇航服来抵御低温和宇宙射线的伤害。当年杨利伟上太空时穿的舱外航天服
为什么有人说穷人玩股票一般都会赔?不是穷人玩股票一定会赔钱,是穷人的思维玩股票一定会赔钱,两个是本质概念,如果你拥有父母给你的1000万,从金钱角度你不是个穷人,但是你却想在短时间内变成2000万,或者说每天就想用
股票被套,死扛能回本吗?弱弱地说,对股民来说,炒股被套是常见之事,尤其是股市处于弱势行情时,亏损被套更是大部分散户股民大概率会经历的纠结事儿,那么,被套之后,应该如何解套回本呢?一般来说,解套的方式可以分
南京总统府是什么地方?位于南京长江路292号的一座圆拱式门楼,1948年5月,蒋介石当上了中华民国总统,才改称总统府,清末时期是两江总督衙署大院,1912年,孙中山先生在南京组建中华民国,这里是临时大总
想买个车,极氪001,理想one,坦克300,领克09,哪一款更好?如果就这几个车,结合你需求,应该在领克09和理想One中间选。首先,你有一台纯电车了,再上个极氪001,意义不大,而且你主要需求是装货和自驾游,显然电车并不是很好的选择。极氪001
如果要你选3位NBA球员复出,你会选择谁,为什么?人世间的感情不过两种一种相濡以沫却厌倦到老,一种相忘江湖却怀念到哭。运动员的职业生涯不会长久,能打上20年已是非常幸运,所以大家只能被迫相忘于江湖,但事后回想时,怀念到哭,像艾弗森
事业单位副职,分管财务好还是分管人事好?如果事业单位规模较小,建议副职分管财务如果事业单位规模较大,建议分管人事。打个比方,县直机关下属的事业单位,机构级别才股级,整个单位可能就十几人,除了一位正职两位副职外,没有中层职
绿色上衣搭配什么颜色裤子或裙子好看?绿色上衣清新文艺风!绿色象征着生命,象征着人们安全而美好的愿望,是和平轻松的色调。春天一抹绿给人生机盎然活力满满感。快来看看绿色的上衣怎么搭。早春绿毛衣不要忘记穿,肤色偏黄选择冷色
李亚鹏,平平无奇的恋爱小天才文白面书誏编辑白面书誏高调做作李亚鹏从不是个低调的人。做生意如此,做慈善如此,谈恋爱亦是如此。他的情史之所以人尽皆知,全都是因为他从不避讳向观众展示。和瞿颖在一起时,他的名气远不如
做一个好家长的两大秘诀家长如何培养出一个优秀的孩子呢?这里有两大秘诀和气的脸,克制的嘴。用和气的方式对待孩子,特别是孩子考试之后。请记住你情绪低落,乱发脾气,常常一副冷若冰霜的脸,看了让孩子也生厌,他可
轩岗煤电实业公司焦家寨分公司党建引领促进融合发展山西轩岗煤电实业公司焦家寨分公司紧紧围绕公司党委安排部署,切实履行管党治党主体责任,把支部建设工作融入经营管理全过程,为完成全年各项工作任务提供了坚强的政治保障。强化学习教育。该党
你彻夜难眠都在什么时候?19年前的这个时候,正是我彻夜难眠之时,那一夜我在医院的产房里正经历着一次次的撕心裂肺的阵痛!不错,那晚是我儿子出生的时候。记得白天已经疼了一整天,到半夜疼的睡不着,饭因为之前流过
VIVOX90领衔,新发机器优缺点汇总及购买建议前三款机器闭眼入文小伊评科技随着双十一结束以及新款SOC陆陆续续在本月陆续上市,各大手机厂商也早已按耐不住,纷纷在双十一之后发布了多款新品机型,那么接下来笔者就对目前已经发布的几款新品手机做一个全
建设安徽区域总部!世界500强投资合肥11月15日,合肥高新区与法国威立雅山鹰国际安徽区域总部举行项目签约仪式,计划5年内在安徽各地市投资45亿元,建设全品类再生资源城市处理体系。其中,在高新区重点建设省域内再生资源大
云南腾冲4万株银杏变成金色海洋,染黄古村诗意浓浓至若暮秋之际,霜染层林。锦霞灿灿,金风飒飒,落叶满江村。在树树秋声山山寒色的深秋里,有一个地方,你一定要去,那就是静谧梦幻的腾冲银杏村这里,是宛如天堂的静谧秋景这里,是冬季里的金色
雄芯而起合肥加快打造中国IC之都图为晶合集成产品展示图滚滚江淮运河,激荡发展脉动。近年来,安徽省合肥市围绕合肥芯合肥产合肥用全链条,加快推进集成电路产业发展,倾力打造中国IC之都。目前,合肥已经初步完成集成电路全
(新华全媒)中国贡嘎系统获全球碳计划认证助力国际碳收支评估新华社北京11月24日电(张泉高维祺)由第二次青藏科考队气候变化与生态系统碳循环科考分队自主研发的贡嘎大气碳反演系统日前通过全球碳计划认证,为国际碳收支评估提供中国系统与中国数据。
摆脱无性无爱无话的三无婚姻,得这么做三无婚姻,顾名思义,即是无性无爱无话可说。只是婚姻为何会走到三无的地步呢?无话无性的本质是无爱有人说爱情性婚姻是三件事,共同捆绑在一个人身上是件概率小之又小的事情,可现实却是这三者
大理苍山玉带路苍山守护神头顶的松树枯萎了大理苍山半山腰(海拔2500米左右)的玉带云游路,这几年只要有时间,每年都会去走一走,一般开车到感通索道停车场,开始徒步上山,到清碧溪,再沿着玉带路往北,到凤眼洞开始沿着石台阶下山