【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包

【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包

    正在检查是否收录...

问题描述

在App Service for Linux环境中,不能与Windows环境一样,可以使用网络中的排查工具来抓取网络包。

image

那么,在Linux(非Container)环境中,如何抓取网络包呢?

 

问题解答

抓取网络包最核心的工具就是TCPDUMP,所以在App Service Linux的环境中,解决办法就两步:一,安装tcpdup,二,执行tcpdump命令

详细的操作步骤如下:

1) SSH进入应用所运行的容器中

SSH Application Contianer URL:  https://<Your App Service Name>.scm.chinacloudsites.cn/webssh/host

image

特别提醒,一定是 SSH for Instance, 不是Kudu。

 

2)安装tcpdump

使用apk工具安装,使用如下命令:

apk update

apk add tcpdump

image

 

3)开始抓包

抓包指令: tcpdump -i any host <ip address>  and tcp port <3306> -n -v -s 0 -w /home/appnetworktrace0827.pcap

🧪 指令参数详解

参数说明
tcpdump Linux 下的网络抓包工具,用于捕获网络接口上的数据包。
-i any 表示监听所有网络接口(包括 eth0、lo 等),适用于容器或多网卡环境。
host <ip address> 只抓取与该 IP 地址相关的通信数据包。这个 IP 是你 MySQL 数据库的地址。
and tcp port 3306 进一步过滤,只抓取 TCP 协议下端口为 3306(MySQL 默认端口)的数据包。
-n 禁止 DNS 解析,加快抓包速度并避免干扰。
-v 输出更详细的信息(verbose 模式)。
-s 0 设置抓包的快照长度为最大(0 表示抓取完整数据包),确保不会截断 TLS 握手内容。
-w /home/appnetworktrace0827.pcap 将抓取的数据包保存为 pcap 文件,便于后续使用 Wireshark 等工具分析。

 命令执行效果图:

image

 

4)Ctrl + C 停止 

5)通过 Kudu newui 下载网络包

New UI :  https://<Your App Service Name>.scm.chinacloudsites.cn/newui/

点击 File Manager ,进入Home目录,找到第三步中生成的文件,点击文件名左边第二个图标,进行下载。

image

 

以上步骤的动图版如下:

  linux collect network trace

 

参考资料

Collecting a Network Trace on Linux Web Apps : https://azureossd.github.io/2023/12/05/Collecting-a-Network-Trace-on-Linux-Web-Apps/

 

  • 本文作者:WAP站长网
  • 本文链接: https://wapzz.net/post-27553.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.8W+
9
1
2
WAP站长官方

记一次 .NET 某放射治疗光学定位软件 卡死分析

上一篇

.NET周刊【8月第3期 2025

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单