I started a tftp server with atftpd -v --port 69 --bind-address --daemon /srv/tftp/ command, but for some reason I do not see TFTP server listening on port 69 in ss/netstat output. However, if I connect to a TFTP server with TFTP client, I'm able to transfer files and automatically another instance of TFTP server starts(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 --daemon /srv/tftp/
5191 in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftp

in.tftpd is a symbolic link to /usr/sbin/atftpd. How are clients able to connect to TFTP server if the TFTP server is not listening on UDP port 69? Are there other servers which work in a same manner?


It's not that the server isn't listening on the port, it's that the tools you're using aren't showing you all of the information you want to see.

You have a couple of options:

Use the -a option with ss and netstat to specify all of the current connections.

ss -au

Use lsof -i UDP to list all of the current UDP connections

sudo lsof -i UDP

Use fuser -v -n udp [port] to determine if the port is currently in use by a process

sudo fuser -v -n udp 69

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.