使用 netstat 或 ss 命令来检查网络连接,这是非常好的做法。这两个命令都可以帮助您查看当前系统上的网络连接状态,包括监听的端口和建立的连接。下面是对这两个命令的详细说明和使用方法:
使用 netstat 命令
netstat 是一个网络统计工具,它可以显示网络连接、路由表、接口统计等网络相关信息。
命令格式:
sudo netstat -tuln
-t:显示 TCP 连接。-u:显示 UDP 连接。-l:仅显示监听套接字。-n:以数字形式显示地址和端口号。
示例输出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp6 0 0 :::123 :::*
使用 ss 命令
ss 是 socket statistics 的缩写,它是 netstat 的一个更现代、更快的替代品。
命令格式:
sudo ss -tuln
-t:显示 TCP 连接。-u:显示 UDP 连接。-l:仅显示监听套接字。-n:以数字形式显示地址和端口号。
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 :::22 :::*
UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
UNCONN 0 0 :::123 :::*
分析输出结果
无论是使用 netstat 还是 ss,您都应该关注以下几点:
- Local Address:本地地址和端口号。检查是否有您不认识的端口被监听。
- Foreign Address:远程地址和端口号。检查是否有可疑的外部连接。
- State:连接状态。例如,
LISTEN表示正在监听,ESTABLISHED表示已建立连接。
如果您发现任何可疑的端口或连接,可以采取以下措施:
- 使用
lsof命令查看哪个进程正在使用该端口:sudo lsof -i :端口号。 - 使用
ps命令查看相关进程的详细信息:ps aux | grep 进程名。 - 如果确定是恶意进程,可以使用
kill命令终止它:sudo kill 进程ID。
通过这些步骤,您可以有效地检查和监控系统的网络连接,确保系统的安全。