我在打开网络端口时遇到了奇怪的情况。我的主要问题是,为什么没有与开放 TCP 端口关联的程序:
netstat -ln --program
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN -
Run Code Online (Sandbox Code Playgroud)
对于我的特定情况,应该有一个 nrpe 守护程序(opsview 安装)侦听端口 5666,但没有运行 nrpe 守护程序。如果我尝试启动它,它会立即退出。
lsof -i :5666也不显示任何输出。我的系统上没有运行 (x)inetd。
更新
是的,我以 root 身份运行这些命令。Telnet 可以,但从来没有任何响应。
经过进一步调查,我发现了一个内核错误dmesg:这是一个运行较旧内核的 EC2 实例(实际上是其中几个)(2.6.16 显然不稳定)。停止崩溃的修复方法是升级内核。
看起来内核崩溃的方式导致进程消失并保持端口打开。
我决定发布这个问题,尽管有很多类似的问题,但没有一个回答我的问题。
lsb_relase -a:Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
Run Code Online (Sandbox Code Playgroud)
netstat -tulpn4,输出显示未知端口:tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 580/systemd-resolve
tcp 0 0 0.0.0.0:62176 0.0.0.0:* LISTEN 900/sshd: /usr/sbin
tcp 0 0 0.0.0.0:1122 0.0.0.0:* LISTEN 1158/sshd: username
tcp 0 0 0.0.0.0:3333 0.0.0.0:* LISTEN 1158/sshd: username
udp 0 0 0.0.0.0:51820 0.0.0.0:* -
udp 0 0 127.0.0.53:53 0.0.0.0:* 580/systemd-resolve
udp 0 0 X.X.X.X:1194 0.0.0.0:* 870/openvpn
Run Code Online (Sandbox Code Playgroud)
51820但没有找到答案。sudo lsof -i :51820 …这个问题类似于网络端口打开,但没有附加过程?netstat显示没有 pid 的侦听端口,但 lsof 没有
我尝试了我能做的一切(作为 root:netstat、lsof、ls -al /proc/*/fd 等),但我找不到 pid。
不管怎样,我必须关闭或释放没有 pid 的端口,因为我的进程想要监听它。无论如何都要这样做吗?
我不想重新启动服务器。因为我的系统中有一个进程,它会更新我所有服务器中的bin文件,然后自动部署所有服务器。当监听7123或其他端口时,部署会失败。
谢谢。
这种情况有三台服务器,它们都是 Rackspace 的服务器,所有“坏端口”都是 udp 端口 7123。
重新启动可以解决这个问题,我已经在这三台服务器之一上尝试过。但我不想重新启动服务器。
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 213120 0 134.213.205.214:7123 0.0.0.0:* -
Run Code Online (Sandbox Code Playgroud)
nmap的结果显示该端口没有关闭。(@Enzo)
root@auto:~# nmap 134.213.205.214 -p 7123 -sU
Starting Nmap 6.40 ( http://nmap.org ) at 2018-04-16 12:01 UTC
Nmap scan report for auto (134.213.205.214)
Host is up.
PORT STATE SERVICE
7123/udp open|filtered unknown
Nmap done: 1 IP address …Run Code Online (Sandbox Code Playgroud)