我在使用笔记本电脑时听到铃声,我想我被黑客入侵了。我检查了 netstat -ano,发现有些连接已建立。现在通过谷歌搜索,我发现已建立连接意味着我被黑客入侵了。其他连接的状态为时间等待、监听、关闭等待。
从我在这里读到的有关已建立的连接和端口的所有内容,我越来越困惑。
有人可以帮我吗?
答案1
“已建立”状态表示您当前有某个网络连接处于活动状态。可能是 Ubuntu 检查更新、浏览器在后台获取某些数据、与某个服务器建立 ssh 连接 - 通过网络连接到任何地方的所有内容都需要建立连接。因此,这绝对不是您被黑客入侵的迹象。
没有确切的方法可以判断您是否被黑客入侵。Ubuntu 的默认配置非常安全,因此被黑客入侵的可能性很小。如果您怀疑自己被黑客入侵,您应该查看计算机上运行的异常进程或系统日志中的异常条目(但您必须首先知道哪些是常见的条目...)。
至于输出netstat
,您应该仔细查看建立了哪些连接。我通过一个示例向您展示这一点。以下是netstat -ano
来自某些 Ubuntu 机器的输出(没有 UNIX 套接字部分):
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State Timer
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 172.28.248.76:35423 172.28.248.100:22 ESTABLISHED keepalive (4261.53/0/0)
tcp 0 0 192.168.137.60:47438 185.125.190.20:80 ESTABLISHED off (0.00/0/0)
tcp 0 0 192.168.137.60:33834 216.58.215.110:443 ESTABLISHED off (0.00/0/0)
tcp 0 0 192.168.137.60:53122 142.250.203.195:80 ESTABLISHED off (0.00/0/0)
tcp6 0 0 :::5900 :::* LISTEN off (0.00/0/0)
tcp6 0 0 :::80 :::* LISTEN off (0.00/0/0)
tcp6 0 0 :::22 :::* LISTEN off (0.00/0/0)
tcp6 0 0 ::1:631 :::* LISTEN off (0.00/0/0)
tcp6 0 0 192.168.33.130:5900 192.168.33.1:57782 ESTABLISHED off (0.00/0/0)
udp 0 0 0.0.0.0:43714 0.0.0.0:* off (0.00/0/0)
udp 0 0 0.0.0.0:68 0.0.0.0:* off (0.00/0/0)
udp 0 0 0.0.0.0:5353 0.0.0.0:* off (0.00/0/0)
您首先应该检查您的机器正在监听哪些端口。查看“本地地址”和“状态”列。机器监听以下端口:3306、22、5900 和 80。您可以忽略监听端口 631,因为它只监听环回地址(127.0.0.1
或::1
),因此没有人可以从外部连接到它。
如果您看到任何与这些端口的“已建立”连接(如“本地地址”列中的行所示),192.168.33.130:5900
则意味着某台计算机已连接到您的计算机上侦听此端口的服务。这可能表示有黑客攻击,但不一定 - 它可能是一个非常“良性”的连接。在这种情况下,我自己从另一台计算机远程连接到这台计算机的桌面,因此连接到192.168.33.1
远程桌面服务(VNC)在端口 5900 上侦听(提示:如果您看到一个随机的高端口号,如 - 在此示例中 - 57782、35423、47438、33834 或 53122,这通常是连接的发起方。您可以连接的服务通常侦听较低编号的端口)。
端口 80 是 Web 服务器 - 如果您在机器上运行 Web 服务器,您通常会知道它,并且与该端口建立连接是完全正常的 - 在这种情况下没有任何连接,因为 Web 服务器实际上只服务于一个 Web 应用程序并且它当前未被使用。
端口 22 是允许远程登录计算机的 SSH 服务器,如果启用了该端口,它通常是黑客攻击的常见目标。如果您运行 SSH 服务器,则应仔细留意任何您不认识的到此端口的连接。可能是您自己或其他合法用户连接到此计算机 - 但如果连接来自某个陌生的地方,则很可疑。不使用netstat
参数运行-n
将为您提供域名而不是计算机的 IP 地址,因此您可以更轻松地识别连接来自何处。这里我们也没有到此端口的任何连接。
端口 3306 是 MySQL 数据库服务器,通常只有您知道的数据库应用程序才能访问它。因此,您还应该知道它们将要连接的 IP 地址。如果您看到任何未知的东西连接到此端口,则很可疑。再次强调,这里没有连接到此端口。
除了我们已经讨论过的连接之外,另外四个已建立的连接是从这台计算机到其他计算机的连接——到服务器上的 SSH 服务172.28.248.100
以及到互联网上某处的 Web 端口 80(HTTP,不安全)和 443(HTTPS)(再次,域名会更多地说明我们要连接到哪里)。
此外,此示例在“本地地址”列中的 IP 地址方面也相当复杂,因为您可以在此处看到三个不同的 IP 地址(除了环回地址),因为这台计算机有三个网络接口并连接到三个不同的网络。对于普通家用计算机,甚至是服务器,您通常只会在此处看到一个 IP 地址。