加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在linux上,如何在不尝试连接的情况下检查端口是否处于侦听状态

发布时间:2020-12-14 01:21:07 所属栏目:Linux 来源:网络整理
导读:如果本地计算机上的端口(如果通过IP或接口也需要)处于侦听状态,我如何检查?我不想连接到这个端口进行检查,因为我不想激怒这个端口后面的服务. 我想用它来将缺少的net.tcp.listen项添加到Zabbix. 编辑 – 这是真正的答案: 正确的方法是读取套接字表: 的/ p
如果本地计算机上的端口(如果通过IP或接口也需要)处于侦听状态,我如何检查?我不想连接到这个端口进行检查,因为我不想激怒这个端口后面的服务.

我想用它来将缺少的net.tcp.listen项添加到Zabbix.

编辑 – 这是真正的答案:

正确的方法是读取套接字表:

的/ proc /净/ TCP
?的/ proc /净/ TCP6

它们包含如下行:

sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
0: 00000000:1F40 00000000:0000 0A 00000000:00000000 00:00000000 00000000   101        0 4083927 1 f5d15240 750 0 0 2 -1
1: 00000000:2742 00000000:0000 0A 00000000:00000000 00:00000000 00000000  1002        0 6100 1 decd76c0 750 0 0 2 -1

并且可以轻松解析监听套接字(dst:00000000:0000). netstat上的一个strace显示netstat以相同的方式工作.

解决方法

像netstat这样的东西?

`netstat -anp`

将列出所有端口,并应该做到这一点.

由于这是开源软件,您可以从中获得一些灵感.而且我相信它是用C语写的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读