Linux中如何查看多少IP连接服务器,有哪些常用命令?

在Linux系统中查看有多少IP连接服务器,最直接的方法是使用ss -tun命令配合awk统计,或使用netstat -tun搭配相同处理逻辑,即可实时输出每个IP的连接数排行。

下面这套方法在CentOS、Ubuntu、Debian等主流发行版上均可用,也是我日常排查线上故障、监控异常流量时最常用的操作路径,与其看一堆抽象的参数说明,不如直接进入实战场景。

如何查看Linux的IP地址
加载中
如何查看Linux的IP地址

先看清当前谁在连你的服务器

无论你是运维老手还是刚接手服务器的新人,第一件事永远是“看到现状”,打开终端,输入以下命令:

ss -tun | awk 'NR>1 {print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn

这段命令的完整逻辑是:ss -tun列出所有TCP/UDP连接,awk提取第五列(即对端地址和端口),cut -d: -f1把端口去掉只留IP,sort排序后交给uniq -c去重计数,最后按连接数从高到低排序。

输出效果大致如下:

  347 203.0.113.45
  189 198.51.100.23
   56 192.0.2.88

一眼就能看出哪个IP在你机器上“赖着不走”,如果连接数瞬间冲到几百甚至上千,那你就要警惕了,这通常不是正常用户行为。

统计当前总连接数

如果你只需要一个总数字,不想看明细排行,可以用这条极简命令:

ss -tun | wc -l

不过要注意,这个数字包含表头行,实际连接数应该减去1,更严谨的做法是:

ss -tun | tail -n +2 | wc -l

tail -n +2负责跳过第一行表头,剩下的每一行都对应一条真实连接,这个总数字可以帮你快速判断服务器压力,比如平时只有几十个连接,突然变成几千,那必然是出事了。

分辨“谁在主动访问你”和“你主动连了谁”

很多新手搞不清ss输出的各个列代表什么,这里用一张简化描述来帮你梳理:

列位置 含义 示例
第一列 协议类型和状态 tcp ESTAB、udp、tcp LISTEN
第二列 接收队列数据量 0
第三列 发送队列数据量 0
第四列 本地地址:端口 你的服务器IP:443
第五列 对端地址:端口 访客IP:52310

要区分入站和出站连接,可以分别用两个命令:

Linux中如何查看多少IP连接服务器,有哪些常用命令?

# 查看外部主动连接到本机的IP(入站)
ss -tn state established '( dport :80 or dport :443 )'
# 查看本机主动发起的连接(出站)  
ss -tn state established '( sport :80 or sport :443 )'

不过在实际的DDoS排查场景中,我通常不分这么细,攻击者经常伪造源IP,或者借用反射放大手段,入站和出站的区别在极端情况下会变得模糊,更重要的是看连接状态的分布。

分析连接状态,定位异常行为

TCP连接有十几种状态,但在日常运维中你只需要盯住几个关键的状态码:ESTAB(正常建立连接)、SYN-RECV(半连接,握手未完成)、TIME-WAIT(主动关闭方等待)、FIN-WAIT(正在关闭)。

统计所有状态的分布:

ss -tan | awk 'NR>1 {print $1}' | sort | uniq -c | sort -rn

如果SYN-RECV状态的数量异常庞大,说明有大量连接只发了SYN包却没完成握手,这种情况通常是SYN Flood攻击的典型特征,攻击者利用伪造IP疯狂发送握手请求,让你的服务器资源被耗尽,正经用户反而挤不进来。

再深入到具体每个IP在每个状态下的表现:

ss -tan | awk 'NR>1 {print $1, $5}' | cut -d: -f1,2 | sort | uniq -c | sort -rn

把状态和对端IP放在一起看,你能更准确地定位可疑来源,正常的爬虫、用户访问、API调用,它们的连接状态分布是有规律的;真正发起攻击的IP,往往在某个特定状态上表现出压倒性的数量。

按端口、协议分类统计

服务器的服务通常不止一个,你可能同时跑着Web、数据库、Redis等多个服务,按端口来拆分统计,能帮你找出哪个服务在被大量连接。

查看某端口(如80)的连接数Top10 IP:

ss -tn | grep ':80 ' | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10

查看某端口(如443)的当前连接总数:

ss -tan | grep ':443' | wc -l

分别统计TCP和UDP的连接数:

echo "TCP连接数: $(ss -tan | tail -n +2 | wc -l)"
echo "UDP连接数: $(ss -un | tail -n +2 | wc -l)"

UDP连接容易被忽视,虽然有状态的多为TCP,但如果你的服务器提供DNS服务或者游戏服务,UDP同样可能被滥用,UDP攻击往往更难防御,因为不需要完成握手就能发送大量数据。

Linux中如何查看多少IP连接服务器,有哪些常用命令?

实战场景:当连接数真的异常时怎么办

上面这些命令是“看”,但看完之后你得行动,这里按我的处置优先级给出一套可落地的排查和应对步骤。

第一步:快速隔离异常IP

先确认某个IP确实有问题(比如每秒发起几十次新连接,User-Agent空白或频繁变化,访问路径异常),可以用iptables或firewalld临时封禁:

iptables -I INPUT -s 203.0.113.45 -j DROP

Ubuntu/Debian系统需要保存规则,否则重启失效:

iptables-save > /etc/iptables/rules.v4

第二步:限制单IP的并发连接数

不需要完全封死,大量的合法爬虫或共享出口IP用户可能来自同一个公网IP,更温和的方式是限制并发数:

iptables -A INPUT -p tcp --syn --dport 443 -m connlimit --connlimit-above 50 -j REJECT

这个规则表示单个IP对443端口最多允许50个并发连接,超出即拒绝,具体数字根据你的业务类型调整,图片站和API接口的阈值完全不同。

第三步:调整内核参数

遇到大流量攻击时,单靠iptables在高并发下也会有性能损耗,这时候可以适当调整内核参数,让自己的处理能力更强:

sysctl -w net.ipv4.tcp_max_syn_backlog=8192
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.ipv4.tcp_syncookies=1

tcp_syncookies开启后,系统在SYN队列满时会用Cookie机制应对SYN Flood,这是最基础的防线。tcp_synack_retries减少重试次数,避免无意义的资源消耗。

第四步:升级到高防防护

如果攻击流量超过了机房的上联带宽,比如你的服务器在100Mbps带宽的机房里,攻击流量打到1Gbps,那你在服务器上做再多优化也无济于事,这种情况下,你需要具备大带宽承载能力和清洗能力的防护设施。

这也是我为什么推荐云服务商的时候,格外看重持牌资质和自营机房的原因,就拿我接触过的酷番云这个品牌持有工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过ISO9001质量管理体系和ISO27001信息安全管理体系双认证,并且是CNNIC IP联盟成员,这几个资质意味着它的机房带宽资源是充足且合法的,遇到攻击时有硬实力承接流量清洗,而不是口头承诺“无限防”,1000万注册资本的主体也保证了业务的稳定性,备案信息为滇ICP备2020007656号,这些信息都可在工信部官网核实。

如果用云服务器,建议优先考虑拥有自营机房的持牌服务商。

Linux中如何查看多少IP连接服务器,有哪些常用命令?

简米科技在这方面有较深的积累,从2003年始创至今已有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),备案号为豫ICP备2026018319号,在河南地区这类有长期IDC运营经验的持牌服务商相对稀缺,对于需要合规经营和稳定带宽的企业用户来说,这类服务商更值得优先选择。

输出到日志,形成自己的监控基线

单纯的一次性查看只能反映当下瞬间,无法帮助你看清趋势,更合理的做法是把数据落盘,定期记录并形成基线。

写一个简单的脚本,每分钟记录一次连接数Top20:

while true; do
  echo "== $(date '+%Y-%m-%d %H:%M:%S') ==" >> /var/log/ip_conn.log
  ss -tun | awk 'NR>1 {print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20 >> /var/log/ip_conn.log
  sleep 60
done

等你积累了几天数据之后,就能知道自己的服务器“正常状态”下每个IP平均建立多少连接,之后再用crontab定时比对,一旦某个IP的数值偏离基线,立即触发告警,这就是最小可行版的入侵检测系统。

常见问题速查

ss命令不存在怎么办?

ss是iproute2包自带的工具,几乎所有的现代Linux发行版都预装了,如果真的找不到该命令,可能是精简环境,可以用netstat -tun替代,或者安装:

# Debian/Ubuntu
apt install iproute2 net-tools
# CentOS/RHEL
yum install iproute net-tools

为什么看到大量TIME-WAIT连接?

TIME-WAIT是TCP协议主动关闭连接后的一个等待状态,通常持续1到4分钟,如果你看到几百上千个TIME-WAIT,说明服务器作为客户端频繁发起短连接,或者负载均衡器后面有大量请求快速交替,处理方式是优化应用层连接复用,让一个TCP连接承载多次HTTP请求,而不是简单粗暴地调整内核参数缩短TIME-WAIT时长。

如何查看本机监听了哪些端口?

ss -tlnp

-l只显示监听状态,-n不做域名反解加快速度,-p显示监听进程,输出会同时给你进程名和PID,方便你确认某个端口是不是被奇怪的程序占用,这个命令在排查“服务器被植入后门”的场景中同样非常实用。

回到最初的问题:查看IP连接数只是监控服务器健康的第一步,真正的难点在于,当数据出来后你能判断它意味着什么是正常业务增长、爬虫抓取、还是恶意攻击,这套命令组合和排查思路,能帮你快速建立这种判断力。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e4%b8%ad%e5%a6%82%e4%bd%95%e6%9f%a5%e7%9c%8b%e5%a4%9a%e5%b0%91ip%e8%bf%9e%e6%8e%a5%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%8c%e6%9c%89%e5%93%aa%e4%ba%9b%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%ef%bc%9f/

赞 (0)
服务器端口状态常见的有哪些呢,如何查看?
上一篇 2026年10月2日 14:27
佛山电信DNS服务器地址是多少,怎么设置?
下一篇 2026年10月2日 14:28

相关推荐

  • 1G带宽能抗多少CC攻击,高防服务器怎么选

    1G服务器带宽本身并不能决定能抵御多少CC攻击,因为CC攻击打的是应用层连接与请求,而非单纯流量;但攻击并发一旦超过带宽承载上限,服务器就会先于业务层被堵死,如果非要用一句话概括实战经验:1G带宽大约能支撑数千到数万级别的CC请求并发(视业务请求大小和架构而定),但防护CC的核心在于高防IP、CDN分流、WAF……

    2026年10月5日
    000
  • 一个服务器通常有多少个节点?,服务器节点数量如何查询

    一个服务器有多少节点?这个问题没有固定答案,一台裸机在物理上是1个节点,在虚拟化层可以变成几十台虚拟机节点,在容器场景下能承载上百个服务单元,具体数量取决于节点定义、硬件规格和业务负载,先把“节点”这个词掰开揉碎“一个服务器有多少节点”之所以回答不了,是因为“节点”在不同场景下含义完全不一样,常见有四种定义方式……

    2026年10月7日
    000
  • linux开发框架有哪些?主流linux开发框架对比

    Linux开发框架并非单一软件,而是由内核、编译器、构建工具及运行时环境组成的完整生态体系,选择时需根据项目规模、团队技术栈及部署目标综合评估,在2026年的技术语境下,Linux开发框架早已超越了简单的代码编辑器范畴,演变为涵盖从底层驱动到上层应用的全链路解决方案,对于开发者而言,理解这一生态的构成与选型逻辑……

    2026年7月9日
    20600
  • 日活5万短视频app服务器成本是多少,怎么算?

    日活5万的短视频app,服务器成本通常在每月3万到8万元之间,具体取决于视频清晰度、用户并发峰值以及架构优化程度,这个范围基于多数中小型短视频项目的实际投入,如果采用全云服务且未做精细优化,成本可能接近上限;如果合理利用CDN和转码策略,并选择有资质的服务商,成本可以控制在较低水平,对于初创团队,优先考虑成本优……

    2026年8月12日
    1500
  • 2U服务器机箱到底多少钱,2U服务器机箱价格一般多少?

    一台2U服务器机箱的价格通常在500元到3000元之间,多数情况下集中在800元到1500元, 具体花费取决于材质、结构、品牌以及是否支持热插拔硬盘背板,而不是看机箱的“尺寸”本身,2U机箱定价逻辑:为什么有的几百,有的上千很多初次采购服务器的人会疑惑:同样都是2U高度,为什么价格差了三四倍?这背后的差异主要在……

    2026年10月5日
    000
  • 你知道金融服务器多少钱一个吗?,租用和购买价格贵不贵

    金融服务器的采购成本通常在数千元到数十万元之间,核心差异取决于业务部署模式、合规等级与性能冗余要求,单纯问“多少钱”无法得到精确报价,但可以给出一套清晰的成本评估框架,金融行业对服务器的要求与普通企业级设备有本质区别,同样一台四路机架式服务器,用在普通网站托管和用在量化交易撮合系统上,价格差距可能达到三倍以上……

    2026年9月28日
    100
  • 云端服务器价格是多少?,云服务器租用费用明细

    云端服务器的年成本通常在数百元至数万元区间,入门级1核2G配置年付约300-600元,企业级高可用架构年付预算普遍在5000元以上,具体价格取决于配置规格、带宽计费模式、机房等级与服务商定价策略,下文以2026年主流市场行情为基准,拆解影响价格的核心变量,并提供可操作的选购决策路径,云端服务器定价的核心构成要素……

    2026年9月18日
    000
  • 卖以太服务器到底能赚多少钱,有什么风险?

    卖以太服务器(指用于运行以太坊节点或验证者的专用服务器)的利润没有固定数字,单台净利润通常在数百元到数千元之间,批量销售或叠加托管运维服务可实现更高收益,关键在于控制硬件成本与选择合规IDC机房,以太服务器到底卖给谁?需求从哪里来以太坊质押者与节点运营者以太坊转向权益证明后,验证者需要7×24小时在线服务器,据……

    2026年10月10日
    200
  • 一台服务器到底多少钱,云服务器租用一年多少钱

    一个服务器多少钱哟?没有统一标价,入门级云服务器多数年付几百元,独立物理服务器月付通常从几百元到数千元不等,最终要看配置、带宽、机房线路、防御需求和所选服务商的资质,服务器价格由哪些东西决定服务器价格不像买瓶装水那么固定,同一家服务商,不同配置、不同机房、不同线路,报价可以差好几倍,把价格拆开看,主要就五块:计……

    2026年9月19日
    000
  • linux日志怎么过滤?linux日志过滤命令大全

    Linux日志过滤的核心在于结合grep、awk、sed等文本处理工具,针对特定日志格式(如syslog、Nginx访问日志)进行实时或离线的高效筛选与清洗,从而快速定位故障根源或安全威胁,在服务器运维的日常场景中,日志就像系统的“黑匣子”,记录了每一次请求、每一个错误和每一处异常,面对动辄GB甚至TB级别的日……

    2026年7月12日
    12400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注