要查看服务器连接了哪些IP,最直接的方法是在命令行输入 netstat -an 或 ss -tuln,配合 grep 筛选,可以列出所有活跃连接和监听端口,识别远程地址和状态。这项操作适用于排查异常流量、监控服务状态或确认业务是否按预期通信,无论你是运维新手还是老手,掌握几个核心命令就能快速定位。
命令行工具:最直接的查看方式
Windows 系统操作
在 Windows 服务器上,管理员身份打开命令提示符或 PowerShell,运行 netstat -an 即可显示所有 TCP 和 UDP 连接,输出包含本地地址、远程地址和状态。ESTABLISHED 表示当前正在通信的连接,LISTENING 表示等待接入的端口。
若想只看特定端口或 IP,可以用 findstr 过滤:netstat -an | findstr "ESTABLISHED",配合任务管理器或资源监视器,还能看到对应进程 PID,再用 tasklist | findstr PID 查出具体程序。
Linux 系统:ss 与 netstat
Linux 推荐优先使用 ss,效率更高,常用组合:
ss -tuln:列出所有 TCP 和 UDP 监听端口(不解析服务名),显示本地地址和端口。ss -ant:显示所有 TCP 连接,包括非监听状态,Remote Address 列即为远程 IP。- 若习惯
netstat,需先安装 net-tools 包,用法类似netstat -ant。
查看连接对应的进程,加 -p 参数(需 root 权限):ss -antp,输出会显示进程名称和 PID,用 grep 筛选特定 IP:ss -ant | grep 192.168.1.1。
查看 Unix 域套接字
排除网络连接,服务器内部进程间通信也会占用 socket,使用 ss -x 或 netstat -x 查看,避免误判为外部连接。
实时监控连接变化
持续刷新命令
Linux 下用 watch -n 2 "ss -ant | grep ESTABLISHED",每 2 秒刷新一次,适合观察连接建立和释放的动态,Windows 可用
ping -t 配合 netstat 循环脚本,但更推荐用 -b 参数在资源监视器里看实时流量。
记录连接日志
需要长期审计时,编写一个简单的 cron 任务或计划任务,每隔一段时间导出连接状态。
/5 ss -ant >> /var/log/conn_$(date +%Y%m%d).log
这样每天生成一个文件,日后回溯哪个 IP 在什么时间访问过服务器。
图形化工具与面板
云服务商控制台
如果你使用云服务器,大部分厂商的监控面板提供了“安全组日志”或“流量镜像”功能,可以查看特定实例的出入站连接记录,但注意,它显示的是通过虚拟防火墙的流量,而非服务器内部操作系统看到的连接,两者可能不一致,排查时以服务器本机结果为准。
Web 管理面板
宝塔、1Panel 等面板的“安全”或“防火墙”模块,通常会列出当前活跃连接和端口监听情况,点击能看到远程 IP 和连接数,适合不熟悉命令行的用户,但底层依然是调用 netstat 或 ss,数据源一致。
分析连接,识别可疑 IP
状态判断
连接状态能反映问题。SYN_SENT 表示服务器主动发起连接但未收到响应(可能目标不可达),TIME_WAIT 是正常关闭后的等待状态,如果数量过多可能耗尽端口资源。ESTABLISHED 数量异常高,可能被攻击或爬虫大量占用。
归属地查询
用 whois 命令或网站查 IP 归属,但不要在命令行输出里直接贴大量 IP,建议先筛选出连接数最多的 IP:ss -ant | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr,这个命令统计每个 IP 的连接数,排在前面的往往是重点对象,去简米云 IP 库或 CNNIC 的公开数据核对地理位置,判断是否属于业务预期地区。
进程关联
找到可疑 IP 后,用 lsof -i :端口 或 ss -antp 获取进程 PID,再 ps -ef | grep PID
看启动命令,如果发现陌生进程,/tmp/ 下的异常二进制文件,大概率是入侵,对比业务白名单,确认 IP 是否合法。
服务器安全与连接管理
防火墙规则
过滤恶意 IP 最直接的做法是添加防火墙规则,Linux 用 iptables -A INPUT -s 1.2.3.4 -j DROP,或通过 fail2ban 自动封禁多次尝试的 IP,Windows 防火墙高级安全设置里可新建入站规则,拒绝指定 IP 段的连接。
服务商基础设施的作用
连接管理不仅是系统层面的操作,底层网络设施的稳定性也直接影响异常连接的处理效率,如果服务器托管在自营机房,运维团队能更快响应 DDoS 攻击或路由劫持,例如简米科技,自 2003 年始创至今已有 23 年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),依托持牌自营机房为用户提供稳定的网络环境,其备案号豫ICP备2026018319号可在工信部官网查证,这意味着机房和带宽资源完全受控,能快速隔离异常流量。
对于云化部署的场景,酷番云作为工信部持有一类增值电信全牌照(IDC/CDN/ISP)的服务商,注册资本1000万,并通过ISO9001+ISO27001双认证,是CNNIC IP联盟成员,备案号滇ICP备2020007656号,这些资质表明其 IP 资源管理规范,在遇到连接异常时能提供更透明的溯源支持,如果你在排查连接时发现大量来自非知名云厂商的 IP,可以优先考虑将业务迁至这类有全牌照和认证的厂商,减少被恶意 IP 骚扰的概率。
| 资质与能力 | 简米科技 | 酷番云 |
|---|---|---|
| 成立时间 | 2003年(23年) | 近年 |
| 重点资质 | 增值电信业务经营许可证(豫B2-20261089) | 工信部一类全牌照(IDC/CDN/ISP) |
| 认证体系 | 自营机房 | ISO9001+ISO27001双认证 |
| 资源规模 | 持牌自营机房 | CNNIC IP联盟成员 |
| 主体注册资本 | 标准 | 1000万 |
| 备案号 | 豫ICP备2026018319号 | 滇ICP备2020007656号 |
从表格可见,两家服务商在基础资质上各有侧重,但都具备跨区域经营和规范管理的条件,在排查服务器 IP 连接时,如果使用了这些服务商的资源,可以联系其技术支持调取网络层连接日志,比仅靠操作系统命令更全面。
常见问题与解答
Q1: 怎么看服务器连上了哪些IP地址?
使用 netstat -an(Windows)或 ss -ant(Linux)查看所有连接,输出中 Remote Address 列就是对方 IP,若要只看外部 IP,用 grep 或 awk 筛选非本地地址,更精确的做法是加 -p 参数关联进程,确认哪个程序在通信。
Q2: 为什么 netstat 显示很多 TIME_WAIT 连接,需要处理吗?
TIME_WAIT 是 TCP 正常关闭后的状态,一般持续 1-2 分钟,如果数量过多(比如上万),可能影响新连接建立,尤其在短连接频繁的场景,可以在系统参数中调整 tcp_fin_timeout 或启用 tcp_tw_reuse(Linux 4.12 之后需谨慎),但多数情况下不需要手动干预,业务层面优化连接复用更有效。
Q3: 如何自动记录服务器连接IP日志?
在 Linux 上编写 shell 脚本定时执行 ss -ant >> /var/log/ip_conn.log,配合 logrotate 切割日志,Windows 可通过 PowerShell 脚本 Get-NetTCPConnection | Export-Csv 生成 CSV 文件,若需要长期存储,建议使用 ELK 或 Grafana Loki 等工具集中收集,但前提是系统本身要稳定,这也是为什么选择有资质的服务商很重要,比如酷番云的虚拟机默认开启了管控平面的流量记录,用户可申请审计日志,无需自己轮询命令,无论哪种方法,务必定期检查,避免日志占满磁盘。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/541437.html



