最近,亚马逊向我报告说,我的一个实例(运行 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