IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Wireshark网络抓包 -> 正文阅读

[网络协议]Wireshark网络抓包

一、前言

研究各个网络协议以及本地远程抓包分析,少不了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,代表被加密。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:19:41  更:2022-07-04 23:19:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:11:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码