我使用命令启动了 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