当前位置:网站首页>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,代表被加密。
边栏推荐
- 2022 ByteDance daily practice experience (Tiktok)
- Caché WebSocket
- 字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验
- 从实时应用角度谈通信总线仲裁机制和网络流控
- Learning path PHP -- phpstudy "hosts file does not exist or is blocked from opening" when creating the project
- ThreadLocal原理与使用
- Nature microbiology | viral genomes in six deep-sea sediments that can infect Archaea asgardii
- VMware Tools和open-vm-tools的安装与使用:解决虚拟机不全屏和无法传输文件的问题
- 大佬们,求助一下,我用mysql cdc 2.2.1(flink 1.14.5)写入kafka,设置
- Li Kou brush question diary /day2/2022.6.24
猜你喜欢

Go微服务(二)——Protobuf详细入门

中国农科院基因组所汪鸿儒课题组诚邀加入

Scala basic tutorial -- 19 -- actor

NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读

Scala basic tutorial -- 13 -- advanced function
![[go language question brushing chapter] go conclusion chapter | introduction to functions, structures, interfaces, and errors](/img/7a/16b481753d7d57f50dc8787eec8a1a.png)
[go language question brushing chapter] go conclusion chapter | introduction to functions, structures, interfaces, and errors

Scala basic tutorial -- 15 -- recursion

【2022年江西省研究生数学建模】冰壶运动 思路分析及代码实现

使用canal配合rocketmq监听mysql的binlog日志

Scala基础教程--17--集合
随机推荐
An example of multi module collaboration based on NCF
读写关闭的channel是啥后果?
Pb extended DLL development (super chapter) (VII)
启牛开的证券账户安全吗?
【OpenCV入门到精通之九】OpenCV之视频截取、图片与视频互转
Nebula importer data import practice
ESP32-C3入门教程 问题篇⑫——undefined reference to rom_temp_to_power, in function phy_get_romfunc_addr
资料下载 丨首届腾讯技术开放日课程精华!
字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验
Caché JSON 使用JSON适配器
模板_判断素数_开方 / 六素数法
Crawler (6) - Web page data parsing (2) | the use of beautifulsoup4 in Crawlers
php伪原创api对接方法
使用FTP
MXNet对GoogLeNet的实现(并行连结网络)
神经网络物联网应用技术就业前景【欢迎补充】
力扣刷题日记/day3/2022.6.25
TorchDrug教程
信息学奥赛一本通 1336:【例3-1】找树根和孩子
物联网应用技术的就业前景和现状