分析进出进程的网络流量

问题描述 投票:0回答:2

Linux 上有没有什么方法可以详细分析进出进程的网络流量。详细分析是指tcpdump、wireshark提供的数据。

networking tcpdump nmap
2个回答
3
投票

如何使用 lsof 获取有关该过程的更多信息?

lsof -c $进程

查看该进程使用了哪些文件和网络连接。

lsof -i | egrep 'mongod.*听'

grep 查找与 mongod 进程的所有连接。从这里你可以看到进程正在监听哪个端口

$ lsof -i | lsof -i egrep 'mongod.*听'

mongod 64223 fred 6u IPv4 0xffffff80298fec20 0t0 TCP *:27017(监听)

mongod 64223 fred 7u IPv4 0xffffff8017393500 0t0 TCP *:28017(监听)

mongod 64224 fred 9u IPv4 0xffffff8014038500 0t0 TCP *:27018(监听)

mongod 64224 fred 10u IPv4 0xffffff801746f880 0t0 TCP *:28018(监听)

......

......

......

然后在该端口上运行 tcpdump。

哈!


0
投票

您可以使用 ptcpdump 来做到这一点。它还支持将数据保存为pcapng或pcap格式,这意味着您可以通过tcpdump或wireshark分析文件。

sudo ptcpdump -i any --pid <PID>
sudo ptcpdump -i any --pid <PID> -w out.pcapng
$ sudo ptcpdump -i any -c 2 --pid 1809715 
2024/05/18 15:21:27 capturing...
15:21:32.976581 lo Out IP (tos 0x0, ttl 64, id 14961, offset 0, flags [DF], ip_proto UDP (17), length 74)
    127.0.0.1.41038 > 127.0.0.53.53: 23464+ [1au] A? stackoverflow.com. (46)
    Process (pid 1809715, cmd /usr/bin/python3.10, args python)
15:21:32.976647 lo Out IP (tos 0x0, ttl 64, id 14962, offset 0, flags [DF], ip_proto UDP (17), length 74)
    127.0.0.1.41038 > 127.0.0.53.53: 63917+ [1au] AAAA? stackoverflow.com. (46)
    Process (pid 1809715, cmd /usr/bin/python3.10, args python)
2 packets captured
2 packets received by filter
0 packets dropped by kernel
© www.soinside.com 2019 - 2024. All rights reserved.