当前位置:网站首页>Wireshark网络抓包
Wireshark网络抓包
2022-07-04 17:40:00 【DayDayUp丶】
一、前言
研究各个网络协议以及本地远程抓包分析,少不了Wireshark
或同类工具。
这里对3种场景做个简单的抓包。
二、3个抓包场景
2.1、抓包本地http
首先设置Wireshark过滤器ip.dst == 124.223.54.92 and tcp.port == 8116
,开始捕获。
然后打开PC(本地IP:192.168.0.102)的浏览器,访问一个自己练手的的中医药信息网站:http://124.223.54.92:8116/,并搜索“神医喜来乐”,
如上搜索到一些相关结果,再来查看Wireshark捕获的内容,
只能看到浏览器->服务器的单向请求(No=64,左侧箭头→
代表src->dst即客户端192.168.0.102->服务端124.223.54.92的请求),捕获不到相应数据。
如果想拿到响应,下面将过滤器改为ip.addr == 124.223.54.92 and tcp.port == 8116
(ip.addr代表src或dst都可以是这个ip),应用新过滤器后查看捕获结果如下,
No=108,左侧箭头←
代表source->dest即服务端124.223.54.92->客户端192.168.0.102的响应。
前面的搜索请求是GET请求,接着再试一下POST请求http://124.223.54.92:8116/api/echo,这个echo接口请求体传什么响应就返回什么,如下,
curl --location --request POST 'http://124.223.54.92:8116/api/echo' \
--header 'Content-Type: text/plain' \
--data-raw '{ "name": "Jay" }'
同样去Wireshark看到对应的req和resp,以及下面也可以看到明文的业务响应数据,
2.2、抓包手机http
在PC的Wireshark上不能直接抓包手机流量,尽管PC和手机连的都是同一个WIFI。因为Wireshark抓包需要先选择监控的网卡,与这张网卡相关,或经过这张所选网卡的流量或网络包才会被抓到。所以如果对手机抓包,很显然应该监控的是手机的网卡,或者服务端的网卡。所以不能直接在PC上对手机抓包。
不过也有2种方法,
- 其一,PC上开个共享热点让手机连
- 其二,在PC上使用
Charles
等工具开启网络代理,并在手机对应设置该代理
这里使用第二种方式,第一步,下载安装好Charles
后,设置Proxy->Proxy Settings->HTTP Proxy
的Port=8888,如下,
第二步,手机连到跟PC同一个WIFI下,在所连WIFI中设置代理主机名为PC的ip,代理端口为Charles设置的8888,如下,
这样设置代理后,手机的流量就跑去PC代理了,不再是直接发送到路由器。
上图已经可以得知手机的ip是192.168.0.100,所以在Wireshark设置过滤器ip.addr == 192.168.0.100
,并开始捕获。
接着同样打开手机浏览器访问http://124.223.54.92:8116/,并搜索,
再回到Wireshark查看是否已经捕获到信息,如下No=43,捕获到了请求,
如下No=153,也捕获到了响应,
同样,Charles
本身作为与Wireshark同类工具,也同时获取到了该请求及响应,如下,
2.3、远程抓包
上述2.1和2.2分别举例了对本地和手机抓包,对手机抓包也算是属于远程抓包的一种场景,但是仍需和PC在同一局域网下,所以可以认为不算是完全的远程。
那肯定还有一种完全远程的场景,比如远程服务器192.168.2.15上的a进程,需要不断和远程服务器192.168.2.22上的b进程进行p2p握手通讯,这种情况下假如需要验证2个进程之间的握手是加密的还是未加密的,应该怎么验证。
说明:a进程和b进程用来握手的p2p端口都是34000。
第一步,在192.168.2.15上使用tcpdump
命令,将与192.168.2.22之间的tcp包都保存到cap文件,
tcpdump tcp port 34000 and host 192.168.2.22 -w ./target.cap
第二步,将cap文件放到本地PC,并导入Wireshark分析,如下,可以看到两个进程之间的p2p握手协议是TLSv1.2加密的,报文内容也是显示为Application Data,代表被加密。
边栏推荐
- Scala basic tutorial -- 14 -- implicit conversion
- 6.26CF模拟赛E:价格最大化题解
- 876. 链表的中间结点
- 2022健康展,北京健博会,中国健康展,大健康展11月13日
- Perfect JS event delegation
- Pb extended DLL development (super chapter) (VII)
- 1、 Introduction to C language
- Build your own website (15)
- 力扣刷题日记/day2/2022.6.24
- Nature microbiology | viral genomes in six deep-sea sediments that can infect Archaea asgardii
猜你喜欢
Scala basic tutorial -- 13 -- advanced function
力扣刷题日记/day3/2022.6.25
力扣刷题日记/day2/2022.6.24
Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines
整理混乱的头文件,我用include what you use
Go microservice (II) - detailed introduction to protobuf
力扣刷题日记/day1/2022.6.23
Scala基础教程--17--集合
建立自己的网站(15)
神经网络物联网应用技术就业前景【欢迎补充】
随机推荐
激进技术派 vs 项目保守派的微服务架构之争
repeat_P1002 [NOIP2002 普及组] 过河卒_dp
Li Kou brush question diary /day2/2022.6.24
李迟2022年6月工作生活总结
小发猫物联网平台搭建与应用模型
利用策略模式优化if代码【策略模式】
【OpenCV入门到精通之九】OpenCV之视频截取、图片与视频互转
[mathematical modeling of graduate students in Jiangxi Province in 2022] analysis and code implementation of haze removal by nucleation of water vapor supersaturation
Scala basic tutorial -- 12 -- Reading and writing data
How to open an account is safe,
Technology sharing | interface testing value and system
sqlserver的CDC第一次查询的能读取到数据,但后面增删改读取不到,是什么原因
Principle and application of ThreadLocal
C language printing exercise
Caché WebSocket
2022健康展,北京健博会,中国健康展,大健康展11月13日
2022-07-04: what is the output of the following go language code? A:true; B:false; C: Compilation error. package main import 'fmt' func
ByteDance dev better technology salon was successfully held, and we joined hands with Huatai to share our experience in improving the efficiency of web research and development
【2022年江西省研究生数学建模】水汽过饱和的核化除霾 思路分析及代码实现
Scala基础教程--13--函数进阶