Depois de aprender e experimentar sudo lsof -i
e sudo lsof -iTCP
e ler "Os navegadores da web usam portas de saída diferentes para guias diferentes?" , acho que estou lendo a saída de lsof
incorretamente.
Veja um exemplo:
$ sudo lsof -iTCP:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
...
firefox xxxx user xxxxxx IPv4 xxxxxxxxx xxxxxx TCP 192.168.0.100:12345->stackoverflow.com:http (ESTABLISHED)
Olhando este exemplo e outra saída de sudo lsof -i
, acho que está bem claro que esta linha do Firefox aparece na saída porque o Firefox está conectando a porta 80 em um servidor remoto, da porta local 12345. O Firefox não está se conectando a um servidor remoto da porta local 80.
Eu não sei se é possível para um cliente como o Firefox se conectar a partir da porta 80 enquanto um servidor local está escutando na porta 80, mas o que está acontecendo aqui pelo menos não parece desafiar essa ideia, porque não é o que o Firefox está fazendo.
sudo lsof -i:80 -s TCP:^LISTEN
mostra as conexões para a porta 80 em computadores remotos, a menos que um cliente local use a porta local 80 para se conectar a algo. É estranho que não pareça ser uma opção apenas listar quais portas locais estão em uso.