Linux统计服务器连接最多得前三个IP

本文介绍了如何利用ss命令来获取并分析网络连接信息。通过ss-nl展示连接详情,接着使用tr、cut、tail、sort、uniq-c和sort-nr等命令进行数据处理,最终提取出访问次数最多的三个IP地址。这一过程对于网络监控和故障排查非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从ss命令显示得到得连接信息中,取出访问次数最多的三个ip地址。

  • ss -nl 显示网卡连接信息
  • tr -s ’ ’ : 压缩空格并替换为:
  • cut -d: -f5 以:为分割符取第5列
  • tail -n +2 去除标题行。显示从尾部往后数得倒数第二行开始。
  • sort 排序。将同内容的排在一起,为去重做准备
  • uniq -c 去重并统计重复得次数
  • sort -nr 再次按照统计得到的次数倒序排序
  • head -3 取前三列
ss -nl | tr -s ' ' : | cut -d: -f5 |tail -n +2 | sort | uniq -c | sort -nr |head -3
### 配置Linux服务器SSH连接超时时间 #### 修改服务器端配置文件 为了调整SSH连接的超时行为,可以在服务器上的`/etc/ssh/sshd_config`文件中修改特定参数。这会影响到所有通过SSH访问该服务器的会话[^1]。 对于希望每分钟发送一次存活探测包给客户端以防止无响应的情况发生,可添加或更改如下选项: ```bash ServerAliveInterval 60 ``` 此设置意味着如果一分钟内没有任何数据传输,则SSHD进程会给对方发消息确认其状态。当连续若干次均未收到回应,默认情况下三次,便会自动关闭相应的TCP连接[^4]。 另外还有两个重要的参数用于控制登录后的等待时限: - `LoginGraceTime`: 定义了从接收到新的连接请求直到完成认证过程所允许的最大秒数; - `ClientAliveInterval`: 类似于`ServerAliveInterval`,但它是由服务器向已成功验证身份的客户机发出心跳信号的时间间隔; - `ClientAliveCountMax`: 表示在没有收到来自客户的任何回复的情况下,服务器应该发送多少个这样的探针之终止会话。 例如,下面这段配置表示每隔300秒(5分钟)就检查一次活动情况,并且最多重试两次之后如果没有得到应答就会切断连接: ```bash ClientAliveInterval 300 ClientAliveCountMax 2 ``` 请注意,在编辑完上述任何一个参数后都需要重启SSH服务才能使改动生效,命令通常是`sudo systemctl restart sshd` 或者 `sudo service ssh restart`取决于操作系统版本。 #### 调整客户端本地配置 除了改变全局性的服务器设定之外,用户还可以单独针对自己的环境做出相应调整而不影响他人。具体做法是在个人用户的家目录下的`.ssh/config`文件里加入类似的指令来覆盖默认的行为模式[^2]: ```bash Host * ServerAliveInterval 60 ``` 这里星号(*)代表匹配任意主机名,因此这条记录适用于所有的远程目标机器。当然也可以指定具体的IP地址或者域名作为关键字以便仅作用于某些特别的对象上[^5]。 最后提醒一点,无论是哪一方作出变更,都应该充分考虑到实际应用场景的需求以及潜在的安全风险因素后再做决定。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值