Wireshark抓包,带你快速入门

前言

关于抓包我们平时使用的最多的可能就是Chrome浏览器自带的Network面板了(浏览器上F12就会弹出来)。另外还有一大部分人使用Fiddler,Fiddler也是一款非常优秀的抓包工具。但是这两者只能对于HTTP和HTTPS进行抓包分析。如果想要对更底层的协议进行分析(如TCP的三次握手)就需要用到我们今天来说的工具Wireshark,同样是一款特牛逼的软件,且开源免费自带中文语言包。

安装和基本使用

Wireshark开源地址:https://github.com/wireshark/wireshark
Wireshark下载地址:https://www.wireshark.org/download,这里有它的历史版本。今天我们就来安装最新版本3.2.0,一路默认“下一步”安装大法就可以了。安装好后默认就是中文版。

开始抓包

显示过滤器


你会发现第一部分内容跳到非常快,根本没法找到自己想要分析的内容。这里我们可以使用显示过滤器,只显示我们想要看的内容。
在显示过滤器填入http.request.method == "GET",然后用Chrome浏览器访问http://fanyi-pro.baidu.com/index(特意找的一个http网站)

除了过滤Get请求外,常用的显示过滤器还有:

  • tcp、udp 前者表示只显示tcp,后者表示只显示udp。也可以!tcp,表示显示除了tcp之外的。还可以tcp or udp,表示显示tcp和udp。
  • ip.src == 192.168.1.120 and ip.dst == 208.101.60.87 ,ip.src表示客户端ip(源地址ip)、ip.dst表示服务器ip(目标地址ip)
  • tcp.port == 80 || udp.srcport == 80 ,tcp.port 表示tcp的端口为80,udp.srcport表示udp源端口为80。||表示或者和or等效,&&和and等效。(还有tcp.srcport、tcp.dstport等等)

捕获过滤器

显示过滤器是指捕获了所有经过网卡的封包,然后在显示的时候进行过滤显示。明显,如果流量过大会导致捕获的内容过多,筛选变得卡顿。所以,我们可以在捕获阶段的时候就过滤掉无用的流量。

  • udp、tcp 前者表示只显示tcp,后者表示只显示udp。也可以!tcp,表示显示除了tcp之外的。还可以tcp or udp,表示显示tcp和udp。
  • host 192.168.1.110 ,表示只捕获ip地址为192.168.1.110的封包(这里的语法和显示过滤器不一样,请注意)
  • dst port 80 or port 443、not port 53,表达端口的过滤(这里的语法和显示过滤器不一样,请注意)

着色规则

我们看到第一部分内容,封包列表有各种不同的背景色。其不同颜色代表不同意义。淡蓝色代码udp协议,红字黑底代表有问题的封包。更多具体规则可 识图->着色规则

TCP/IP四层协议


下面的动图是各层对应的数据

从上面的动图我们可以发现,应用层到传输层再到网络层到以太网层,其对应的数据包也在对应的往前移。
我们可以想象一下,应用层数据往上传递,每经过一层就包上一个新得信封。等数据送到目的主机,然后每往下一层就拆一个信封,最后拆到应用层也就是最开始得数据了。

TCP三次握手

对于三次握手我想很多人只听过没见过,那么今天我们就来见见。
三次握手是过程: 1、客户端发送同步SYN标志位和序列号Seq(a) 2、服务器回复SYNACK、Seq(b)、Ack(a+1)3、客户端回复SYN、Seq(a+1)、Ack(b+1)

那么在Wireshark中怎么观察呢。我们还是以http://fanyi-pro.baidu.com/地址为例。首先打开Chrome输入地址,F12打开浏览器的Network面板,刷新页面在面板中找到服务器IP。 打开Wireshark开始抓包,并在显示过滤器只显示IP地址对应的数据。


TCP四次挥手

除了三次握手,还有对应的四次挥手。不知道是不是我网络不好,“挥手”的时候老是出现重传错误干扰(就是前面说的那种红字黑底封包)。下面是我本地环境自己写代码的抓包效果。
与握手不同是挥手是发送FIN标志位断开连接,其他都差不多。

Wireshark抓包如下

UDP协议

Wireshark除了可以抓包TCP同样也可以对UDP进行抓包。

其实这个抓取的是BACnet报文,而这个BACnetIP正是基于UDP的一个协议。

ModBusTcp协议

结束

授人以鱼不如授人以渔。Wireshark不仅可以对我们常见的HTTP、HTTPS、TCP等协议进行抓包分析,还能对工业上的BACnet、ModBus、S7Communication和其他PLC协议进行报文抓包分析。如这位大佬就通过抓包破解了西门子PLC没有公开的协议。
希望有兴趣的朋友可以一起来完善IoTClient组件

参考

原文地址:https://www.cnblogs.com/zhaopei/p/12152139.html

时间: 2024-07-31 16:25:01

Wireshark抓包,带你快速入门的相关文章

用Wireshark抓包来揭开ftp client GG和ftp server MM的勾搭内容并用C代码来简要模拟实现Windows自带的ftp client

前面, 我们玩过http, 颇有点意思, 在本文中, 我们继续来玩ftp(file transfer protocol).   http和ftp都是建立在tcp之上的应用层协议, 无论他们怎么包装, 怎么装bigger, 最终还是基于tcp端到端传输的.本文主要分为两个部分: 一. 用Wireshark抓包来揭开ftp client GG和ftp server MM的勾搭内容.二.用C代码来简要模拟实现Windows自带的ftp client. 说明, 本文中的实验, 我用了两台电脑, 分别是p

Wireshark抓包分析从入门到精通

曾近有个牛逼的实战课程放在你的面前,你不懂得好好珍惜,直到失去后才追悔莫及,如果G-LAB可以给你再来一次的机会,你会不会抓住?没错,G-LAB真的给了你再来一次的机会.[Wireshark抓包分析从入门到精通]主讲<郭主任>(月光宝盒索取)请联系QQ:2853771084

wireshark抓包结果很多[TCP Retransmission],怎么办?

有一同事问用wireshark抓包时发现很多[TCP Retransmission],这些包极大影响了自己真正想看的http数据包,如下图. 我拿到pcapng后首先看到这些包的来源ip都是固定的两个,所以首先想到的方法就是过滤ip,规则如下: http and ip.src_host !="23.2.16.200" and ip.src_host !="23.2.16.218" 这种方法虽然解决了问题,但是明显不够通用,如果ip很多不是烦死人了吗?所以接着分析,g

Wireshark抓包工具使用教程以及常用抓包规则

Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的,所以今天讲述的内容可能无法直接帮你解决问题,但是只要你有解决问题的思路,学习用这个软件就非常有用了.Wireshark官方下载地址:http://www.wireshark.org/download.html如果记不住,可以在百度中输入Wir就可以看到百度智能匹配的关键词了,选择第一个地址进去下载即可. 简单介绍下这个软件的一些常用按钮,因为本

使用wireshark抓包分析浏览器无法建立WebSocket连接的问题(server为Alchemy WebSockets组件)

工作时使用了Websocket技术,在使用的过程中发现,浏览器(Chrome)升级后可能会导致Websocket不可用,更换浏览器后可以正常使用. 近日偶尔一次在本地调试,发现使用相同版本的Chrome浏览器,不可连接线上服务器的WS服务,但是可以连接本地的WS服务. 此时初步怀疑是服务器在某种特殊情况下会触发无法连接的问题. 使用Wireshark抓包 Filter:    ip.dst==serverIP or (ip.dst==本地IP and ip.src==serverIP) 一.查看

wireshark抓包新手使用教程(转)

wireshark抓包新手使用教程 Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息.常用于开发测试过程各种问题定位.本文主要内容包括: 1.Wireshark软件下载和安装以及Wireshark主界面介绍. 2.WireShark简单抓包示例.通过该例子学会怎么抓包以及如何简单查看分析数据包内容. 3.Wireshark过滤器使用.通过过滤器可以筛选出想要分析的内容.包括按照协议过滤.端口和主机名过滤.数据包内容过滤. Wireshark软件安装 软

wireshark抓包获取网站登录信息

最近有个需求,用python实现自动回复某个帖子,达到人工置顶的目的. 要自动回复,自然要先登录,所以需要获取到登录时http post提交的用户信息,抓包工具使用wireshark. 默认已经配置好wireshark,并且具备计算机网络的基础知识,如果不具备请自行百度. 用来登录的网页是天涯登录 首先,我们要知道本机的IP地址和点击登录页面的登录按钮后要向他发出http请求的机器的ip地址,前者用ipconfig或者mac下使用ifconfig知道,后者的话需要打开网页源码获取响应服务器的网址

云计算之路-阿里云上:Wireshark抓包分析一个耗时20秒的请求

这篇博文分享的是我们针对一个耗时20秒的请求,用Wireshark进行抓包分析的过程. 请求的流程是这样的:客户端浏览器 -> SLB(负载均衡) -> ECS(云服务器) -> SLB -> 客户端浏览器. 下面是分析的过程: 1. 启动Wireshark,针对内网网卡进行抓包. 2. 在IIS日志中找出要分析的请求(借助Log Parser Studio) 通过c-ip(Client IP Address)可以获知SLB的内网IP,在分析Wireshar抓包时需要依据这个IP进

利用Wireshark抓包登录博客园

1,打开WireShark,选择本地网卡. 2,在filter中输入过滤条件Http. 3,找到http包中的get 和post的包,这时你可以找到你登录的用户名和密码了,这个用户名和密码通过表单进行验证. 利用Wireshark抓包登录博客园,布布扣,bubuko.com