当前位置: 首页>后端>正文

Linux 抓包工具

1. 使用socat

介绍:socat 是 Linux 系统中自带的一个工具,最常见的用法是在网络编程中用作网络中继或端口转发器,可以用来抓包。

安装:直接通过包管理器命令安装即可,如 yum install -y socat

用法:socat TCP-LISTEN:port1,fork TCP:host:port2

这个命令的作用是监听本地的 port1,当有连接进来时,将数据转发到指定的 host 的 port2。具体说明如下:
* TCP-LISTEN:port1:在本地 TCP 端口 port1 上监听连接。
* fork:表示允许多个客户端连接,并为每个连接创建一个新的进程来处理。
* TCP:host:port2:将连接转发到指定的远程 host 的 port2 端口。

比如,本机启动了一个Zabbix,端口为80。通过socat 启动一个14001端口,将访问本机14001的请求都指向本机的80端口:socat -v TCP-LISTEN:14001,fork TCP:127.0.0.1:80,此时通过浏览器访问此服务器的14001端口,也可以看到Zabbix界面。

Linux 抓包工具,第1张
file

socat将会打印出请求的全部内容:
Linux 抓包工具,第2张
file

2. 通过mitmproxy

介绍:mitmproxy 是一个流行的中间人代理工具,用于拦截、修改和查看 HTTP 和 HTTPS 流量。它经常用于网络调试、安全测试和网络流量分析等场景。

在线安装:mitmproxy是一个Python工具,需要通过pip安装,yum install -y python3-pip python3-devel && pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple mitmproxy

离线安装:
先把所有的rpm包下载下来:yumdownloader --resolve python3-pip python3-devel,将包考到目标机器上,然后执行:rpm -ivh *
再把所有的pip包下载下来:pip3 download -i https://pypi.tuna.tsinghua.edu.cn/simple mitmproxy -d /opt/,然后拷贝到目标机器上再安装:pip3 install ./*

用法:比如启动 mitmproxy 8080端口,代理我本机的80端口,只需要执行命令mitmproxy -p 8080 --mode reverse:http://localhost:80,当你访问 mitmproxy 监听的端口(例如浏览器中输入 http://<mitmproxy_host>:8080)时,mitmproxy 将会将流量代理到本地的 80 端口,同时仍然允许你查看和修改流量。

--mode reverse 参数来反向代理流量
-p 参数来指定 mitmproxy 监听的端口

这种方式可以更直观的查看每个请求:


Linux 抓包工具,第3张
file

上下键选择想要查看的请求,回车可以查看细节,q可以返回列表或者退出。


Linux 抓包工具,第4张
file

https://www.xamrdz.com/backend/37d1939170.html

相关文章: