如何找出哪个应用程序导致了传出连接?

如何找出哪个应用程序导致了传出连接?

最近,亚马逊向我报告说,我的一个实例(运行 Ubuntu 18.04 LTS)正在遭受 DoS 攻击。他们向我发送了包含日志的自动生成电子邮件。看到这些日志让我很震惊,因为它显示我的实例上的某个应用程序通过 UDP 端口 8763 连接到外部 IP 地址并发送数据。我从未直接或间接地做过这种活动。

日志行如下所示:

1576787081.299481 54.x.x.140 → 104.x.85.138 UDP 8763 → 62058 Len=1052
1576787081.299588 54.x.x.140 → 104.x.85.138 UDP 8763 → 62058 Len=1052
1576787081.299631 54.x.x.140 → 104.x.85.138 UDP 8763 → 62058 Len=1052
1576787081.299842 54.x.x.140 → 104.x.85.138 UDP 8763 → 62058 Len=1052
1576787081.299913 54.x.x.140 → 104.x.85.138 UDP 8763 → 62058 Len=1052

这里 54.xx140 是我的机器的 IP 地址,104.x.85.138 是它连接并发送数据的地方。我只想知道 Ubuntu 中是否有任何方法可以告诉我哪个应用程序连接到了哪个外部端口?

提前致谢,

答案1

您可以使用内置功能netstat检查网络连接。

sudo netstat -tupln

您将看到PID/Program name,如果程序名称模糊,您可以过滤PID

ps aux | grep PID

查看哪个进程使用了​​该端口。

此外,还有一个名为的程序nethogs,它将显示每个程序的网络活动的进程进行分组。

sudo apt install nethogs
sudo nethogs

相关内容