TFTP 服务器未侦听定义的端口

TFTP 服务器未侦听定义的端口

我使用命令启动了 tftp 服务器atftpd -v --port 69 --bind-address 10.10.10.2 --daemon /srv/tftp/,但由于某种原因,我在 ss/netstat 输出中没有看到 TFTP 服务器正在侦听端口 69。但是,如果我使用 TFTP 客户端连接到 TFTP 服务器,我就能够传输文件并自动启动另一个 TFTP 服务器实例(PID 5191):

# ss -l -4 -u
Recv-Q Send-Q                                 Local Address:Port                                     Peer Address:Port   
# ss -l -6 -u
Recv-Q Send-Q                                 Local Address:Port                                     Peer Address:Port   
# pgrep -lf tftp
4316 /usr/sbin/atftpd -v --port 69 --bind-address 10.10.10.2 --daemon /srv/tftp/
5191 in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftp
# 

in.tftpd是到 的符号链接/usr/sbin/atftpd。如果 TFTP 服务器未侦听 UDP 端口 69,客户端如何连接到 TFTP 服务器?是否还有其他以相同方式工作的服务器?

答案1

这并不是说服务器没有侦听端口,而是您使用的工具没有向您显示您想要查看的所有信息。

您有几个选择:

-a将选项与ss和 一起使用netstat来指定所有当前连接。

ss -au

用于lsof -i UDP列出当前所有 UDP 连接

sudo lsof -i UDP

用于fuser -v -n udp [port]确定端口当前是否被进程使用

sudo fuser -v -n udp 69

相关内容