Iniciei um servidor tftp com atftpd -v --port 69 --bind-address 10.10.10.2 --daemon /srv/tftp/
comando, mas por algum motivo não vejo o servidor TFTP escutando na porta 69 na saída ss/netstat. No entanto, se eu me conectar a um servidor TFTP com cliente TFTP, poderei transferir arquivos e iniciar automaticamente outra instância do servidor 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
é um link simbólico para /usr/sbin/atftpd
. Como os clientes conseguem se conectar ao servidor TFTP se o servidor TFTP não estiver escutando na porta UDP 69? Existem outros servidores que funcionam da mesma maneira?
Responder1
Não é que o servidor não esteja escutando a porta, é que as ferramentas que você está usando não estão mostrando todas as informações que você deseja ver.
Você tem algumas opções:
Use a -a
opção com ss
e netstat
para especificar todas as conexões atuais.
ss -au
Use lsof -i UDP
para listar todas as conexões UDP atuais
sudo lsof -i UDP
Use fuser -v -n udp [port]
para determinar se a porta está atualmente em uso por um processo
sudo fuser -v -n udp 69