工作中常用的抓包工具-Fiddler和Wireshark介绍
ninehua 2024-11-17 19:52 42 浏览
我们这个信息化时代,每天都不知不觉的会给不知道哪些软件运营商偷偷的说一些悄悄话,特别是我们程序猿,在开发过程中更是,偶尔会遇到不知道TCP交互过程中到底传递或者接受了哪些信息,给我们的Debug蒙上了一层神秘的面纱,这时候,我们需要一些抓包工具帮助我们轻松Debug。一般的请求可以借助浏览器自带的NetWork抓包工具,移动端一些网页的话可以借助腾讯开源的vConsole,再高端一点就是借助Fiddler来抓取http或者https请求。但是有时候这样也满足不了我们的需要,那么就再祭出Wireshark神器来抓取tcp和udp请求。
浏览器自带的抓包工具
一些主流浏览器都自带有Network抓包工具,只需F12即可唤出,非常方便,我这里只演示了 Chrome浏览器的抓包过程。
Fiddler简单操作
Fiddler是一款http\https协议代理调试工具,它能够获取请求之间的数据和状态,设置断点,以及修改数据。首先去Fiddler网站下载并手动安装。
安装成功后打开Fiddler,界面如下:
默认情况下,它是抓取我们所有的请求。我们需要对Fiddler进行过滤设置。假如我们只想抓取www.cnblogs.com的请求,我们需要这样处理:
,最后我们可以得到这样的效果:
,
还可以指定客户端的进程:
进程方式除了刚才在Filters中设置外,还可以使用拖动方式,
下面,我们来试试抓取手机端的请求,在抓取手机端请求前,请确保手机和电脑在同一个局域网中,然后进入Tools->Options->Connections对Fiddler进行如下设置:
,
由于我在PC端映射了一个wifi供手机连接,故我手机代理设置如下:
假如我们抓取美团App的请求,现在打开App即可看到:
这里只是一个简单的示例介绍,更多高深技巧请自行探索。
Wireshark简单操作
首先Wireshark下载,
安装完成后打开
可以看到我们本地有很多网卡驱动,我们怎么知道现在网络是哪个网卡呢?有两个方式,一个是查看本地连接,另外一个就是看界面的网络流量。
可以看到Wireshark开始为我们抓包,由于Wireshark为我们抓取了TCP和HTTP,会有很多无用的信息导致我们无从下手,这时候可以使用Wireshark的过滤规则:
,
在过滤栏输入关键字就会有相应的智能提示。 在Wireshark抓包中有多层信息:
- Frame 15788: 79 bytes on wire (632 bits), 79 bytes captured (632 bits) on interface \Device\NPF_{69B14E8C-A0A5-4064-9CF7-EB4651D24A99}, id 0:物理层的数据帧概况。
- Ethernet II, Src: HuaweiTe_22:5a:c6 (fc:48:ef:22:5a:c6), Dst: WistronI_fd:67:50 (54:ee:75:fd:67:50):数据链路层以太网帧头部信息。
- Internet Protocol Version 4, Src: 10.101.11.97, Dst: 10.101.27.241:互联网层IP包头部信息,源地址和目的地址。
- Transmission Control Protocol, Src Port: 80, Dst Port: 50773, Seq: 2606, Ack: 3560, Len: 25:传输层的数据段头部信息,TCP协议层信息。
- Hypertext Transfer Protocol:应用层的信息,此处是HTTP\HTTPS协议会现在该项。Wireshark常用过滤条件:地址过滤。ip.dst==xxx.xx.xxx.xxx 过滤目的地址为xxx.xx.xxx.xxx,ip.src==xxx.xx.xxx.xxx 过滤原地址地址为xxx.xx.xxx.xxx,ip.dst==xxx.xx.xxx.xxx && ip.src==xxx.xx.xxx.xxx 过滤源地址为xxx.xx.xxx.xxx且目的地址xxx.xx.xxx.xxx协议过滤。直接在过滤栏输入协议即可 tcp、udp、arp、http、ftp、ssl、smtp、dns、ip、ardp端口过滤。在过滤栏输入tcp.port==端口号(目的端口和源端口)或者 tcp.dstport==端口号(目的端口),tcp.srcport==端口号(源端口)HTTP过滤。这个就比较多了,暂时详述:
通过Wireshark可以很方便的分析TCP的三次握手和四次挥手的过程,有助于我们更加直观的理解TCP协议。
好了,暂时先告一段落吧,这里只是简单是写了软件的基本使用,如果要抓取HTTP和HTTPS协议的数据的话,个人建议使用Fiddler。其他更加高级的应用在后面再分享吧,另外还有一款强大的抓包工具Charles,只不过它是收费的。
相关推荐
- 让Mac也能读取Android设备文件(mac系统能读取win的文件么)
-
由于苹果的iOS和谷歌的Android系统属于竞争关系,因此苹果的电脑系统MacOSX并不支持MTP协议,这就使得通过USB将Android设备连接到Mac电脑上无法识别,更别说读取里面的文件了。...
- 抛弃Windows吧!谷歌推免费Chrome系统,一个U盘就搞定
-
在目前的个人电脑上,最主流的系统当然是Windows,不过除了Windows之外,我们也可以选择购买苹果的电脑,使用苹果的MacOS系统。不过除了苹果和微软的系统之外,实际上谷歌也有自己用于个人电脑...
- 安卓版Apple Music应用正式上架Google Play
-
IT之家讯11月11日消息,苹果今天正式推出了安卓版AppleMusic应用(测试版),用户可在谷歌应用商店GooglePlay进行下载。AppleMusic最初只提供给Mac、iPhone和...
- Mac 基于HTTP方式访问下载共享文件,配置共享服务器
-
方法一:使用Python的SimpleHTTPServer进行局域网文件共享Mac自带Python,所以不需要安装其他软件,一条命令即可1):进入需要共享的文件夹,如Public文件夹cd/Us...
- 谷歌 Gmail 现可设置为 iOS 14/iPadOS 14 默认邮件应用
-
IT之家9月22日消息据外媒MacRumors报道,苹果iOS14与iPadOS14允许用户将第三方应用设置为iPhone和iPad的默认浏览器应用。目前,用户还可以将第三方...
- 终于免费了!谷歌地球专业版下载(谷歌地球专业版多少钱)
-
IT之家(www.ithome.com):终于免费了!谷歌地球专业版下载IT之家讯1月31日消息,谷歌地球专业版GoogleEarthPro现在完全免费了。在此之前,要使用这款专业版的谷歌地球需要...
- 谷歌计划将于11月发布64位Mac版Chrome
-
投稿by:hnn072来源:威锋网PostTime:2014-09-1523:51:55以下为文章全文:威锋网9月15日消息,日前,谷歌公司在官方博客中正式宣布,谷歌将在今年11月发布的...
- Google首次推出beta版的64位Mac Chrome浏览器
-
在宣布Windows版的64位Chrome进入稳定版(Chrome37)2天之后,Google刚刚又发布38版的Chromebeta版,除了增加新的用户档案切换界面并引入G...
- YouTube应用下载全攻略:安卓、iOS及视频下载指南
-
#哪些网站帮你打开了新世界的大门?#YouTube是全球最大的视频分享平台,拥有数十亿用户。它允许用户上传、分享和观看视频,涵盖娱乐、教育、新闻、音乐、博客、游戏等各类视频。通常,您可以使用You...
- MaterialDesign来袭!iOS谷歌浏览器更新!
-
今日,谷歌发布了最新的iOS版Chrome浏览器应用升级,在新版本中该应用添加了最新的MaterialDesign界面,并增加了在iOS设备和Mac中快速无缝切换浏览内容的Handoff特性支持。最...
- 谷歌为Canary/Dev分支Mac版Chrome浏览器64位支持
-
【巴士速递·移动情报站】上周,谷歌为Windows7和8系统用户推出了64位版本的Chrome浏览器Beta测试版。现在,谷歌悄悄的为Canary和Dev分支Mac版Chrome浏览器增加了64位支...
- 谷歌发布64位Chrome for Mac 首个测试版
-
投稿by:水木之向来源:威锋网PostTime:2014-08-2921:52:52以下为文章全文:威锋网8月29日消息,在发布64位ChromeforWindows之后,谷歌日...
- Google Stadia首发支持设备中确认有Pixel 4和Pixel 2系列
-
2019-10-3110:20谷歌今天宣布扩充GoogleStadia的首发支持设备规模,继Pixel3系列、Pixel3a系列之外还添加了Pixel4系列和Pixel2系列四款机型。据...
- 64位谷歌浏览器Chrome 11月登陆苹果OS X
-
IT之家(www.ithome.com):64位谷歌浏览器Chrome11月登陆苹果OSX谷歌将于11月正式发布非beta版的、苹果OSX系统的64位谷歌浏览器,谷歌于一个月前曾推出beta版的...
- 外媒:谷歌推出了搭载苹果M1芯片Mac的Chrome版本
-
据外媒TheVerge消息,谷歌日前为苹果的ArmMacs发布了Chrome的本地版本。不过该版本原本是在周二开始推出,但由于意外崩溃而暂停了。Chrome产品经理MarkChang表示,谷歌计...