如何查看 VPS 是否被扫描端口(Linux 服务器安全指南)

查看VPS是否被爆破

很多人在购买 VPS 后,经常会好奇一个问题:

我的服务器有没有被别人扫描?

实际上,只要你的 VPS 有公网 IP,几乎每天都会被扫描。
常见的扫描包括:

  • SSH 暴力破解
  • Web 漏洞扫描
  • 全端口扫描(nmap / masscan) 本文整理几种 简单有效的方法,查看服务器是否被扫描。

一、查看 SSH 被暴力破解情况

SSH 是最容易被攻击的服务。

Debian / Ubuntu 上可以通过日志查看失败登录:

journalctl -u ssh | grep "Failed password"

如果服务器被扫,你会看到类似:

Failed password for root from 185.xxx.xxx.xxx port 52341 ssh2
Failed password for admin from 45.xxx.xxx.xxx port 41211 ssh2

统计攻击 IP:

journalctl -u ssh | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort -nr | head

示例输出:

120 185.xxx.xxx.xxx
85  45.xxx.xxx.xxx
60  103.xxx.xxx.xxx

说明这些 IP 尝试登录你的服务器最多。

二、查看服务器当前连接

可以使用 ss 查看服务器当前 TCP 连接:

ss -tn

例如:

ESTAB 0 0 87.xxx.xxx.xxx:58364 87.xxx.xxx.xxx:22
ESTAB 0 0 87.xxx.xxx.xxx:46888 172.67.xx.xx:443

含义:

项目 含义
Local Address 你的 VPS
Peer Address 对方服务器
ESTAB 已建立连接

如果看到大量陌生 IP 连接,可能正在被扫描。

三、查看服务器开放端口

先确认自己的服务器到底开放了哪些端口:

ss -tulnp

示例:

tcp LISTEN 0 128 0.0.0.0:22
tcp LISTEN 0 128 0.0.0.0:80
tcp LISTEN 0 128 0.0.0.0:443

说明服务器开放:

  • 22 → SSH
  • 80 → HTTP
  • 443 → HTTPS 这些端口都会被扫描。

四、使用 tcpdump 查看端口扫描

如果想实时查看扫描,可以抓包:

安装工具:

apt install tcpdump

抓取 SYN 包:

tcpdump -i any -nn 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0'

如果有人扫描端口,会看到类似:

IP 185.xxx.xxx.xxx.52341 > your-ip.22: Flags [S]
IP 185.xxx.xxx.xxx.52341 > your-ip.80: Flags [S]
IP 185.xxx.xxx.xxx.52341 > your-ip.443: Flags [S]

这就是典型的端口扫描行为。

五、统计连接最多的 IP

可以快速查看连接你服务器最多的 IP:

ss -ant | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

输出示例:

150 185.xxx.xxx.xxx
80  45.xxx.xxx.xxx
60  103.xxx.xxx.xxx

这些通常就是扫描你服务器的 IP。

六、如何防止 VPS 被扫描

被扫描其实是正常现象,但可以减少攻击风险。

1 安装 Fail2ban

Fail2ban 可以自动封禁暴力破解 IP:

apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban

查看封禁状态:

fail2ban-client status sshd

2 修改 SSH 端口

编辑 SSH 配置:

nano /etc/ssh/sshd_config

修改:

Port 22

例如:

Port 22222

然后重启:

systemctl restart ssh

3 禁止 root 密码登录

建议使用 SSH Key 登录

PermitRootLogin prohibit-password

或者:

PermitRootLogin no

总结只要 VPS 暴露公网 IP:

  • 每天都会被扫描
  • SSH 每天几百次尝试很正常
  • 不需要过度担心 只要做好:
  • Fail2ban
  • SSH Key 登录
  • 关闭不必要端口 服务器基本是安全的。
免责声明
⏱ 已运行: 加载中...