我使用命令啟動了 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