如何在Windows系统上用抓包软件抓包工具wiresharkk截获iPhone等网络通讯数据

Wireshark(网络包分析工具)下载 V2.0.4官方版_捕获网络数据包 - pc6下载站利用Wireshark截取数据包,并对数据包进行解析的图文教程
作者:佚名
字体:[ ] 来源:互联网 时间:07-20 21:21:02
这篇文章主要为大家介绍了利用Wireshark截取ICMP数据包,并对数据包进行解析的图文方法,需要的朋友可以参考下
利用Wireshark截取ICMP数据包,并对数据包进行解析软件名称:Wireshark(网络过滤抓包) v1.4.9 免费安装中文版(附使用教程)软件大小:22.5MB更新时间:安装步骤:
解压文件之后,在\wireshark-win32-1.4.9中文版\文件夹中找到安装文件,双击即可安装。
安装完成之后,双击wireshark图标即可启动,界面如下:
抓包步骤:
1、点击开始按钮列出可以抓包的接口:
2、点击选项可以配置抓包参数:
3、配置完成点击开始,即可开始抓包:
4、点击停止完成抓包。
抓包界面分析:
抓包结果整个窗口被分成三部分:
1、最上面为数据包列表,用来显示截获的每个数据包的总结性信息;
2、中间为协议树,用来显示选定的数据包所属的协议信息;
3、最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
数据包列表中,第一列是编号(如第1个包),第二列是截取时间(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是这个包使用的协议(这里是UDP协议),第六列info是一些其它的信息,包括源端口号和目的端口号(源端口:58459,目的端口:54062)。
协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。
分析ICMP协议数据包
实验原理:&ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。
实验步骤:
点击开始抓包,为了抓取使用ICMP的包,我们要设置过滤条件,点击&选项&:
再点击&抓包过滤&按钮:
因此初始状态下没有只抓取ICMP协议包的过滤条件,因此我们点击新建按钮:
在过滤名字和过滤条件中分别输入&ICMP only&(自定义),&icmp&,点击确定:
这是可以看到抓包过滤按钮后面的文本框出现了ICMP字样,说明过滤条件设置成功:
点击开始,发现现在抓取不到任何包:
大家感兴趣的内容
12345678910
最近更新的内容网络抓包工具之wareshark 用法
网络抓包工具之wareshark 用法
之前写过一篇博客:。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。
记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理解。
对我而言, wireshark 是学习网络协议最好的工具。
wireshark介绍
wireshark的官方下载网站:
wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。
wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。
使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。
Wireshark不能做的
为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。
Wireshark VS Fiddler
Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。
wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容
总结,如果是处理HTTP,HTTPS 还是用Fiddler,& 其他协议比如TCP,UDP 就用wireshark
同类的其他工具
微软的network monitor
什么人会用到wireshark
1. 网络管理员会使用wireshark来检查网络问题
2. 软件测试工程师使用wireshark抓包,来分析自己测试的软件
3. 从事socket编程的工程师会用wireshark来调试
4. 听说,华为,中兴的大部分工程师都会用到wireshark。
总之跟网络相关的东西,都可能会用到wireshark.
wireshark 开始抓包
wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
点击Caputre-&Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包
Wireshark 窗口介绍
WireShark 主要分为这几个界面
1. Display Filter(显示过滤器),& 用于过滤
2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表
3. Packet Details Pane(封包详细信息), 显示封包中的字段
4. Dissector Pane(16进制数据)
5. Miscellanous(地址栏,杂项)
Wireshark 显示过滤
使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。
过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
过滤器有两种,
一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录
一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -& Capture Filters 中设置
在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102",
Filter栏上就多了个"Filter 102" 的按钮。
过滤表达式的规则
表达式规则
1. 协议过滤
比如TCP,只显示TCP协议。
2. IP 过滤
比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,
ip.dst==192.168.1.102, 目标地址为192.168.1.102
3. 端口过滤
tcp.port ==80,& 端口为80的
tcp.srcport == 80,& 只显示TCP协议的愿端口为80的。
4. Http模式过滤
http.request.method=="GET",&& 只显示HTTP GET方法的。
5. 逻辑运算符为 AND/ OR
常用的过滤表达式
过滤表达式
只查看HTTP协议的记录
ip.src ==192.168.1.102 or ip.dst==192.168.1.102
源地址或者目标地址是192.168.1.102
封包列表(Packet List Pane)
封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。
你也可以修改这些显示颜色的规则,& View -&Coloring Rules.
封包详细信息 (Packet Details Pane)
这个面板是我们最重要的,用来查看协议中的每一个字段。
各行信息分别为
Frame:&& 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol:& 传输层T的数据段头部信息,此处是TCP
Hypertext Transfer Protocol:& 应用层的信息,此处是HTTP协议
wireshark与对应的OSI七层模型
TCP包的具体内容
从下图可以看到wireshark捕获到的TCP包中的每个字段。
实例分析TCP三次握手过程
看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例
三次握手过程为
这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。
打开wireshark, 打开浏览器输入 /tankxiao
在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",
这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图
图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。
第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图
第二次握手的数据包
服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图
第三次握手的数据包
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:
就这样通过了TCP三次握手,建立了连接
发表评论:
TA的最新馆藏随笔 - 853&
文章 - 11&评论 - 170&trackbacks - 0
国内私募机构九鼎控股打造APP,来就送&20元现金领取地址:内部邀请码:C8E245J&(不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为&中国PE第一股&,市值超1000亿元。&
------------------------------------------------------------------------------------------------------------------------------------------------------------------
原文地址:&/wangqiguo/p/4529250.html
本文主要讨论一种非常方便的抓取Android和iphone手机网络数据包的办法,以及介绍wireshark最常用的技巧
抓包工具介绍
(1).网页抓包工具
&& Chrome浏览器插件
&& FireBug 插件&&
&& HttpWatch
&& Fiddler
&& 在浏览器chrome和firefox中可以使用插件抓取网络包,httpwatch会以插件的形式安装在IE和firefox浏览器中,对web请求进行抓包。而Fiddler则是一个独立的程序,其原理是在启动之后开启对127.0.0.1:8888的端口进行监听,并将计算机上的浏览器的代理设置为指向其监听的8888端口,这样当浏览器请求网页的时候,会通过fiddler监听的8888端口,这样fiddler会获取到所有请求的数据和web服务器回复的数据。Fiddler可以自动对IE和非IE浏览器的代理进行设置,打开fiddler之后,点击IE的&工具&& &Internet选项&&&连接&选项卡 & 点开&局域网设置&& 在弹出的对话框中你会发现 &代理服务器&设置中的&为LAN使用代理服务器&这个复选框是勾选上的,点击下面的&高级&按钮,可以看到代理服务器已经被设置为127.0.0.1:8888了。
对非IE浏览器的设置也是自动的,在fiddler的选项中可以看出来
点击fiddler的菜单&Tools&&&Fiddler Options&& 可以看到如下图:
点击图中的&Copy BrowserProxy Confiuration URL&得到一个路径,也就是BrowserPAC.js的路径,该文件是fiddler用来设置非IE浏览器的代理的,至于是什么原理,不太清楚,但是根据该js的注释,以及fiddler选项链接的Tools tips提示,可以看出其作用就是设置非IE浏览器的代理的
这是fiddler软件的智能之处,每当开启fiddler软件之后,他会自动对系统中安装的浏览器进行代理设置,关闭fiddler之后,他也会还原这些浏览器的代理设置。
从这点上来讲我觉得fiddler比httpwatch更加好用。而浏览器的插件也可以满足大部分的web抓包需求。
(2).网络抓包工具
&& Wireshark
&& Sniffer
&& 这类工具主要原理是通过底层驱动,监视网卡上流过的数据,而这个数据包含网络上所有的数据,包括从链路层一直到最上层应用层的所有数据包。这种抓包工具获取的网络数据包是最全面的,可以抓获除了http协议之外的其他数据包。针对网卡捕获,不需要设置。
Wireshark手机抓包
从网络上面搜索到的资料看,要抓取手机中app的网络包有下面几种方式:
(1).将tcpdump移植到Android平台,然后在命令行下启动tcpdump进行抓包。Tcpdump程序实际上可以看作是wireshark的命令行版本,将该程序移植到Android平台直接抓包,这是一种最直接的抓包方式,然后将抓获的数据包文件,从手机传到windows系统上用wireshark打开进行分析,这种方式貌似不能用于苹果手机。
(2).使用fiddler,在windows系统上打开fiddler软件,该软件会将我们的电脑变成一个代理,然后在手机上设置wifi网络,将代理指定为开启fiddler的那台电脑,并且端口设置为fiddler侦听的8888端口,这时候使用手机访问的数据,就会通过该代理,在fiddler中就可以看到http的数据包。这种方法我试了半天怎么都看不到数据包,不知道哪里出问题了,根据原理,这种方式支持可以通过代理访问网络的手机。所以从原理上说是支持Android和苹果手机的。
(3).通过各种方式在pc电脑上建立wifi热点,然后使用wireshark在pc电脑上监视该wifi热点,通过手机连接该热点访问网络。这样wireshark会获取所有流经该热点的数据包这种方式适用于所有能够无线访问的手机,也就是说所有的Android和苹果手机。
那么如何在pc电脑上建立wifi热点呢,有这么几种办法:
(1).Win7电脑经过设置,可以将无线网卡设置为wifi热点,这种方法我以前用过,可以成功,但是步骤繁琐,而且不一定能够成功,其他的windows系统估计就没戏了。
(2).使用软件自动建立wifi热点,不需要自己手工配置,这样的软件有Connectify Hotspot,猎豹免费wifi,360免费wifi软件,这几个软件我都使用过,比较好用,这种方式同样也只能针对有无线网卡的笔记本电脑,原理也是将笔记本电脑上的无线网卡建立热点了,只不过是软件自动的,不需要人工设置,比方法1要方便。
注意:经过实验发现,手机连接这种方式建立的热点,所发送的数据,用wireshark去抓包,需要捕获电脑上本身联网的那个&网络连接&,例如我的笔记本上面有一个&本地连接&,该连接是使用有线网络的。我用猎豹免费wifi软件建立一个热点之后,我的电脑上多出一个&无线网络连接3&,可以看到该&无线网络连接3&是猎豹生成的,但是我抓包的时候,wireshark需要捕获&本地连接&上的包,也就是我的手机访问的数据实际上还是使用的&本地连接&,通信IP也是&本地连接&上的IP地址,而在手机的wifi连接设置中看到的ip地址,在我抓的包中也搜不到,也就是说手机通过该热点访问网络,实际上还是使用的&本地连接&的IP地址,至于是什么原理,我目前也不太清楚。但是下面要说的随身wifi硬件则与此不同,随身wifi是建立了网卡。
(3).使用随身wifi硬件。这种也是很方便的方法,而且比较稳定,对笔记本电脑和台式机都可以使用。我之前买了一个360的随身wifi(不是打广告,本人对360公司不感冒,但是他的随身wifi做的确实还可以,同事中有买小米wifi的,不太稳定)。只要在360的官网上下载驱动,直接插上随身wifi就可以使用,我推荐使用这种方法。
如果你用的是笔记本电脑可以使用方法2,如果是台式机器可以使用方法3。
下面重点说明,通过随身wifi建立热点,然后使用wireshark抓包的办法,其他方式建立热点抓包的原理一样,只不过是建立热点的方式不同而已,抓包过程没有区别:
首先插入随身wifi:
使用手机连接上面的wifi,然后打开&网络和共享中心&,在里面点击我们使用随身wifi建立的网络连接:
里面可以看到该链接的网卡物理地址,以及ipv6的地址信息,这应该是随身wifi建立的一个网卡,之所以要查看这些信息,是因为我们要确定wireshark抓包的时候抓取那个网卡的信息,一般电脑上有多网卡或者是有虚拟机可能也会生成虚拟网卡。
打开wireshark,选择菜单&Capture&&&Interface&在弹出的对话框中有一列是IP栏,可以看到除了本机的网络连接以外,好像其他的网络链接这一栏显示的都是IPv6的地址,其中我们可以找到与上面网络连接信息中匹配的IP地址:
还可以点击该条目右边的&Details&按钮,打开详细信息对话框,在&802.3(Ethernet)&选项卡中,可以看到网卡的物理地址,该物理地址与上面的网络连接对话框中显示的物理地址是对应的:
这样可以确定我们需要抓取哪个网卡的数据,确定之后,直接点击该条目的&Start&按钮,使用连上该wifi的手机随便访问网络,就可以抓取所有包了,如果嫌查看网卡信息麻烦,你可以把这几个显示有数据包的网卡都抓包试一下,就应该可以看出来随身wifi对应的是那个网络连接了。
在手机上查看连接该wifi被分配的IP地址信息:
在wireshark的抓包结果中,通过地址与http协议过滤出该地址172.24.160.3相关的数据包得到如下的结果:
这些数据是我在小米手机上,通过UC浏览器浏览博格园电脑版网页抓获的所有数据包。
对于iphone手机的抓包过程没有任何区别。该方法可以抓获所有发送自手机的数据包,包括http与非http的所有数据包。
个人认为这种方式非常简单方便,抓取的数据包全面,而且通过随身wifi设置热点不需要任何繁琐的配置,仅仅是安装一个驱动而已,实际上随身wifi好像是新建了一个网卡。我们只要用wireshark抓获该随身wifi建立的网卡的数据就可以了。对于从事app开发的园友来说19块钱买一个wifi是非常值得的,这会为你的调试,以及研究别人的协议提供非常大的帮助。
Wireshark常用技巧
本节主要讲解wireshark使用的一些常用的技巧,其实主要是使用过程中,用的最为频繁的一些包的筛选规则。
Wireshark中有两种过滤器:
(1).捕获过滤器:告诉wireshark我们只需要捕获满足什么条件的包,而不满足条件的包则不需要捕获。由于捕获过滤器是在wireshark在捕获过程中采用的,所以捕获过滤器的过滤条件最多局限在传输层的协议,也就是可以通过ip和端口指定规则,而更加上层的应用层协议则不能用在捕获过滤器中。
语法:&Protocol& Direction& Host(s)&& Value& LogicalOperations& Other& expression
例子: tcp&&&& &&dst& &&&&&&& &&&&10.1.1.1& 80&&&& or&&&&& & &&&& tcp&& dst& 10.2.2.2 3128
解释:Protocol表示协议,Direction表示方向,Host指定IP地址,Value一般指定端口,可以使用逻辑操作连接其他的表达式来生成复合表达式。例如:
tcp dst port 8888
捕获目的tcp端口为8888的包
ip src host 10.1.1.1
捕获来源地址为10.1.1.1的包
host 10.1.1.1
捕获目的或者来源地址为10.1.1.1的包
捕获除了icmp包的所有包
有关更多的捕获过滤器请参考wireshark的文档
(2).显示过滤器:该过滤器是在已经抓到的包中筛选出自己想分析的数据包,也就是说该过滤器是在捕获工作已经完成之后做的,其数据基础就是已经捕获到的那些数据包,该过滤器支持的协议就是wireshark能够识别的所有协议,由于是在已经捕获下来的包中进行筛选,所以该过滤器中的条件表达式可以支持所有的上层协议,其筛选条件也可以根据每个协议的不同部分进行筛选。下面以HTTP协议为例子:
查看所有http请求的数据包(包括GET,POST等等的请求,只要是web请求都算)
所有POST请求的数据包
所有请求的URL中包含字符串&.jpg&的包
所有http响应状态码为200的包
可以看到HTTP协议有很多字段提供筛选,wireshark还支持matches操作符,进行正则筛选
查找所有http请求URL中包含 /mvc/字符串并且请求的是带参数的aspx页面的包
关于各种协议的字段文档可以查阅wireshark的文档,都有详细说明,包括协议的每个字段部分的含义。其实对于做app或者是web开发的来说常见的http筛选字段已经足够用了
此外wireshark除了可以根据协议的每个字段的内容值进行筛选之外,还可以指定数据包中的第几个字节的二进制数据值进行筛选,这种通过包中二进制数据进行筛选的方法一般在socket的私有二进制协议中比较有用,这些协议一般是私有定义的,并且是基于二进制的协议,例如第几个字节表示什么意思,wireshark肯定是不能识别这些包的,那么我们可以自己根据二进制数据进行筛选
筛选出ip源或目标地址为172.16.1.126 并且udp端口为50798 并且rtp包的第2个字节的值是0xE0的包,这样的包是rtp数据包一帧结束的包。
当然上面的例子我们是可以通过rtp协议的字段rtp.marker==1为条件来进行筛选的,举上面的例子是为了说明如何根据包中的二进制数据值进行筛选。
Wireshark有非常强大的抓包与过滤功能,本节也仅仅列举了其中最常用的筛选规则,在显示过滤器的规则中wireshark可以根据每一层的协议进行筛选,例如网络层(IP,ARP,ICMP等协议),传输层(TCP,UDP)等协议,应用层(HTTP,RTMP,RTSP等协议),各层协议的字段可以通过逻辑与(&&,and),或(||,or),非(|,not)等运算符连接成复合表达式进行过滤。
更加详细的wireshark的过滤规则可以参考wireshark的官方文档。
对博客园提点建议:上传相册的图片要是能批量上传就好了,每次写篇文章,上传十几二十张图片非常痛苦
阅读(...) 评论()Wireshark-win32-1.12.0. windows网络抓包软件,可以用来获取物理层数据 Kernel 系统编程 242万源代码下载-
&文件名称: Wireshark-win32-1.12.0.& & [
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 27521 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:windows网络抓包软件,可以用来获取物理层数据-windows
data capture
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&Wireshark-win32-1.12.0..exe
&输入关键字,在本站242万海量源码库中尽情搜索:

我要回帖

更多关于 wireshark抓包 的文章

 

随机推荐