Wireshark是一款非常流行的网络抓包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。wireshark是非常流行的网络封包分析软件,功能十分强大。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

一、Wireshark基本知识:界面介绍

  1. 号窗口展示的是wireshark捕获到的所有数据包的列表。注意最后一列Info列是wireshark组织的说明列并不一定是该数据包中的原始内容。
  2. 号窗口是1号窗口中选定的数据包的分协议层展示。
  3. 号窗口是1号窗口中选定的数据包的源数据,其中左侧是十六进制表示右侧是ASCII码表示。另外在2号窗口中选中某层或某字段,3号窗口对应位置也会被高亮。

二、Wireshark 捕获过滤器

捕获过滤器表达式作用在wireshark开始捕获数据包之前,只捕获符合条件的数据包,不记录不符合条件的数据包。
捕获过滤器表达式没有像显示过滤器表达式那样明显的规律,但写法不多所以也不难;而且除非全部捕获要占用的磁盘空间实现太大,且你非常明确过滤掉的数据包是你不需要的,不然一般都不用捕获过滤器表达式而用显示过滤器表达式。

在wireshark3.x版本,打开捕获过滤器方法如下:

三、Wireshark 显示过滤器

显示过滤器表达式作用在在wireshark捕获数据包之后,从已捕获的所有数据包中显示出符合条件的数据包,隐藏不符合条件的数据包。

管理显示过滤器如下图:

显示过滤表达示在工具栏下方的“显示过滤器”输入框输入即可生效。

四、Wireshark 表达式

再给大家说下表达式的语法,无论是捕获过滤器还是显示过滤器都可以用。

捕获过滤器表达式

语法:

<Protocol>  <Direction>  <Host(s)>  <Value>  <Logical  Operations>   <Other expression>

说明:

  • Protocol(协议):ether,fddi, ip,arp,rarp,decnet,lat, sca,moprc,mopdl, tcp
    , udp 等,如果没指明协议类型,则默认为捕捉所有支持的协议。

  • Direction(方向):src, dst,srt,src and dst, src or dst等,如果没指明方向,则默认使用 “src or dst” 作为关键字。

  • Host(s):net, port, host, portrange等,默认使用”host”关键字,”src 10.1.1.1″与”src host 10.1.1.1″等价。

  • Logical Operations(逻辑运算):not, and, or 等,否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。

常见使用的捕获过滤器表达式

  1. 只捕获某主机的HTTP流量

    host 192.168.5.231 and port 80 and http #只捕获主机192.168.5.231 的http流量。注意如果你的HTTP端口为8080,把80 改为8080。

    port 80 and http #捕获所有经过该接口的http流量。注意如果你的HTTP端口为8080,把80 改为8080。

    host 192.168.5.231 and not port 80 # 捕获主机192.168.5.231除 http 之外的其他所有流量,注意如果你的HTTP端口为8080,把80 改为8080。

    not port 80 # 捕获除 http 之外的其他所有流量,注意如果你的HTTP端口为8080,把80 改为8080。

    not port 80 and !http # 捕获除 http 之外的其他所有流量,注意如果你的HTTP端口为8080,把80 改为8080。

  2. 只捕获某主机的所有流量

    host 192.168.5.231 #捕获源目主机均为192.168.5.231

    dst 192.168.5.231 #捕获目的主机均为192.168.5.231

    src 192.168.5.231 #捕获来源主机均为192.168.5.231

    net 192.168.5.0/24 #捕获网段为d192.168.5的所有主机的所有流量

  3. 只捕获某主机的DNS流量

    host 192.168.5.231 and port 53 # 只捕获主机192.168.5.231 的dns流量。

    src 192.168.5.231 and port 53 #只捕获主机192.168.5.231 对外的dns 的流量。

    dst 192.168.5.231 and port 53 #只捕获dns服务器相应主机192.168.5.231的dns流量。

    port 53 #捕获接口中的所有主机的dns流量

  4. 只(不)捕获APR流量

    host 192.168.5.231 and arp#只捕获主机192.168.5.231 的arp流量。

    host 192.168.5.231 and !arp #只捕获主机192.168.5.231 除arp外的所有流量。

    arp #捕获接口中的所有arp请求

    !arp #捕获接口中所有非arpq请求。

  5. 只捕获特定端口的流量

    tcp portrange 8000-9000 an port 80 #捕获端口8000-9000之间和80端口的流量

    port 5060 #捕获sip流量,因为sip的默认端口是5060。举一反三:port 22 #捕获ssh流量

  6. 捕获电子邮件的流量

    host 192.168.5.231 and port 25 # 捕获主机192.168.5.231 的POP3协议的流量。

    port 25 and portrange 110-143 #因为电子邮件的协议:SMTP、POP3、IMAP4,所以捕获端口的流量。

  7. 捕获vlan 的流量

    vlan #捕获所有vlan 的流量

    vlan and (host 192.168.5.0 and port 80) #捕获vlan 中主机192.168.5.0 ,前提是有vlan,在wifi中不一定可以捕获到相应的流量,局域网(公司,学校里面的网络应该有vlan)

  8. 捕获 PPPoE 流量

    pppoes #捕获所有的pppoes流量

    pppoes and (host 192.168.5.231 and port 80) #捕获主机

    如果要捕获某种协议的流量,可以尝试捕获该端口的流量,请查看端口常识:

    https://svn.nmap.org/nmap/nmap-services

显示过滤器表达式

一条基本的表达式由过滤项、过滤关系、过滤值三项组成。

比如ip.addr == 192.168.1.1,这条表达式中ip.addr是过滤项、==是过滤关系,192.168.1.1是过滤值(整条表达示的意思是找出所有ip协议中源或目标ip、等于、192.168.1.1的数据包)

  1. 过滤项

    初学者感觉的“过滤表达式复杂”,最主要就是在这个过滤项上:一是不知道有哪些过滤项,二是不知道过滤项该怎么写。wireshark的过滤项是“协议“+”.“+”协议字段”的模式。

    以端口为例,端口出现于tcp协议中所以有端口这个过滤项且其写法就是tcp.port。

    推广到其他协议,如eth、ip、udp、http、telnet、ftp、icmp、snmp等等其他协议都是这么个书写思路。当然wireshark出于缩减长度的原因有些字段没有使用协议规定的名称而是使用简写(比如Destination Port在wireshark中写为dstport)又出于简使用增加了一些协议中没有的字段(比如tcp协议只有源端口和目标端口字段,为了简便使用wireshark增加了tcp.port字段来同时代表这两个),但思路总的算是不变的。而且在实际使用时我们输入“协议”+“.”wireshark就会有支持的字段提示(特别是过滤表达式字段的首字母和wireshark在上边2窗口显示的字段名称首字母通常是一样的),看下名称就大概知道要用哪个字段了。

    wireshark支持的全部协议及协议字段可查看:https://www.wireshark.org/docs/dfref/

  2. 过滤关系

    过滤关系就是大于、小于、等于等几种等式关系,我们可以直接看官方给出的表。

    注意其中有“English”和“C-like”两个字段,这个意思是说“English”和“C-like”这两种写法在wireshark中是等价的、都是可用的。

  3. 过滤值

    过滤值就是设定的过滤项应该满足过滤关系的标准,比如500、5000、50000等等。过滤值的写法一般已经被过滤项和过滤关系设定好了,只是填下自己的期望值就可以了。

复合过滤表达示

所谓复合过滤表达示,就是指由多条基本过滤表达式组合而成的表达示。基本过滤表达式的写法还是不变的,复合过滤表达示多出来的东西就只是基本过滤表达示的“连接词”

我们依然直接参照官方给出的表,同样“English”和“C-like”这两个字段还是说明这两种写法在wireshark中是等价的、都是可用的。

常见用显示过滤需求及其对应表达式的示例

数据链路层:

筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

网络层:

筛选ip地址为192.168.1.1的数据包----ip.addr == 192.168.1.1

筛选192.168.1.0网段的数据---- ip contains "192.168.1"

筛选192.168.1.1和192.168.1.2之间的数据包----ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2

筛选从192.168.1.1到192.168.1.2的数据包----ip.src == 192.168.1.1 && ip.dst == 192.168.1.2

传输层:

筛选tcp协议的数据包----tcp

筛选除tcp协议以外的数据包----!tcp

筛选端口为80的数据包----tcp.port == 80

筛选12345端口和80端口之间的数据包----tcp.port == 12345 && tcp.port == 80

筛选从12345端口到80端口的数据包----tcp.srcport == 12345 && tcp.dstport == 80

应用层:

特别说明----http中http.request表示请求头中的第一行(如GET index.jsp HTTP/1.1),http.response表示响应头中的第一行(如HTTP/1.1 200 OK),其他头部都用http.header_name形式。

筛选url中包含.php的http数据包----http.request.uri contains ".php"

筛选内容包含username的http数据包----http contains "username"

五、Wireshark追踪TCP流


总结:

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

Wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。如果是处理HTTP、HTTPS 还是建议大家用Fiddler, 其他协议比如TCP、UDP等等就可以直接使用Wireshark。

抓包工具Wireshark使用教程:抓包、捕获/显示过滤器、表达式、追踪流相关推荐

  1. 网络抓包工具wireshark 安装教程

    Wireshark(前称Ethereal)是一个网络数据包分析软件.网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据.Wireshark使用WinPCAP作为接口,直接 ...

  2. 网络抓包工具 wireshark 入门教程

    Wireshark(前称Ethereal)是一个网络数据包分析软件.网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据.Wireshark使用WinPCAP作为接口,直接 ...

  3. 抓包工具 Charles使用教程---抓取接口数据

    1.抓包工具 Charles下载地址:https://xclient.info/s/charles.html#versions 2.使用教程:https://www.jianshu.com/p/fc2 ...

  4. 抓包工具wireshark和Fiddler的使用

    抓包工具wireshark的设置 数据包的查看方法,使用Fiddler工具 最后找到你对应的请求,查看 

  5. linux下抓包工具 wireshark,网络抓包工具Wireshark下载安装使用详细教程

    叮嘟!这里是小啊呜的学习课程资料整理.好记性不如烂笔头,今天也是努力进步的一天.一起加油进阶吧! 一.关于Wireshark Wireshark(前身 Ethereal)是一个网络包分析工具.该工具主 ...

  6. 『Python爬虫』抓包工具 Fiddler 入门教程

    如今Python爬虫越来越火,有想学好Python爬虫的小伙伴可以前往gzh[Python编程学习圈]领取系统的学习资料以及教程视频,还分享有大量的技术干货文章可以阅读学习,欢迎大家关注学习. 传统的 ...

  7. 抓包工具Wireshark基本介绍和学习TCP三次握手

    原文链接:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html#threehand,肖佳 之前写过一篇博客:用 Fiddler ...

  8. Fiddler抓包:详解Fiddler抓包工具软件使用教程

    为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 抓firefox上https ...

  9. Linux系统安装网络抓包工具wireshark

    既然要安装抓包工具wireshark,那么我们首先必须得了解下它是什么,干什么的? 我只是知识的搬用工:http://baike.baidu.com/link?url=1bxmqMKKN_IItxSc ...

最新文章

  1. WCF分布式开发步步为赢(1):WCF分布式框架基础概念
  2. 黄山学院计算机课,黄山学院非计算机类专业计算机课程教学管理规定
  3. 乐高创意机器人moc_乐高MOC佳作欣赏丨机械之美机器人乐高作品集1
  4. java正则表达式笔记_java正则表达式笔记
  5. 中国节能电梯市场趋势报告、技术动态创新及市场预测
  6. 性能进阶:使用JMeter进行websocket测试
  7. Lc165-版本号比较
  8. AIR ANE(本机扩展)使用中的一些问题(Android平台)
  9. Unity 3D 萌萌哒三消游戏《宝石消消乐》源码
  10. 一次人大金仓剔除锁经历
  11. 工作小结_2016年2月23日23:16:59
  12. 亲测微信活码裂变系统源码+解除限制/附安装说明
  13. 【RAC】如何修改SCAN IP的IP地址、名称、端口等信息
  14. Appollo高精度地图二——数据采集生产及产品实例
  15. 编程应该怎么学?学好编程讲方法
  16. SAP-MM知识精解-自动科目记账(05)- 物料组的科目确定
  17. ROS2入门:turtlesim的奇妙曲线轨迹
  18. STM32 LL库 I2C的个人笔记
  19. 跨境电商如何降低商品退货率
  20. 聚类分析(银行客户画像)

热门文章

  1. 租用服务器的注意事项
  2. XS9920E,四通道多合一同轴高清解码芯片方案
  3. 英语口语练习四十之地道口语:感谢及回应感谢的英语表达
  4. 优秀课件笔记之POWERPOINT 演示文稿
  5. Port Security:没有绝对安全的系统
  6. 黑龙潭,北京真龙的栖身之所?
  7. 从一台虚拟机中启用一个并口设备
  8. 淘宝,解决了14个中兴公司的就业岗位
  9. 时尚轻便的电脑包,做工手感都不错,梵高范轻潮电脑包上手
  10. 用数据分析网络暴力有多可怕