2016-11-30 14 views
-1

У меня буря работает на двух машинах.Почему netstat сообщает меньшее количество открытых портов, чем lsof

Каждая машина запускает процесс nimbus (причудливый для мастер-процесса) и рабочие процессы.

И я хотел видеть связь между ними - какие порты открыты и как они соединяются друг с другом.

$ netstat -tulpn | grep -w 10669 
tcp  0  0 :::6700  :::*   LISTEN  10669/java   
udp  0  0 :::42405  :::*      10669/java   


$ lsof -i :6700 
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 
java 10669 storm 25u IPv6 57830  0t0 TCP host1:50778->host2:6700 (ESTABLISHED) 
java 10669 storm 26u IPv6 57831  0t0 TCP host1:6700->host2:57339 (ESTABLISHED) 
java 10669 storm 29u IPv6 57843  0t0 TCP host1:6700->host1:50847 (ESTABLISHED) 
java 10669 storm 53u IPv6 57811  0t0 TCP *:6700 (LISTEN) 
java 10681 storm 53u IPv6 57841  0t0 TCP host1:50780->host2:6700 (ESTABLISHED) 
java 10681 storm 54u IPv6 57842  0t0 TCP host1:50847->host1:6700 (ESTABLISHED) 

То, что я не понимаю, из приведенного выше вывода является то, что почему NetStat не показывает порт 50778 быть открытым в процессе с PID = 10669, где, как lsof ясно показывает, что тот же самый процесс имеет установленное соединение, как host1:50778->host2:6700

+1

Потому что вы сравниваете яблоки и апельсины. Попробуйте 'netstat -tulpn | grep -w 6700'. – EJP

+0

'netstat -tulpn | grep -w 6700' вернул только одну строку для 6700. Я до сих пор не вижу порт 50778. Если это очевидно для вас, пожалуйста, объясните то же самое в ответе. Другие могут не иметь такого же опыта или знаний, как вы, и выиграли бы от вашего ответа. – user2250246

ответ

1

netstat -l ограничивает результаты прослушиванием сокетов и предотвращает отображение сокетов в других состояниях.

Попробуйте вместо этого:

netstat -anp | egrep :6700 

 Смежные вопросы

  • Нет связанных вопросов^_^