Mam dziwną sytuację z otwartym portem sieciowym. Moje główne pytanie brzmi: dlaczego nie byłoby programu powiązanego z otwartym portem TCP:
netstat -ln --program
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN -
W moim konkretnym przypadku powinien istnieć demon nrpe (instalacja opsview) nasłuchujący na porcie 5666, ale nie działa żaden demon nrpe. Jeśli spróbuję go uruchomić, natychmiast się kończy.
lsof -i :5666
nie pokazuje również żadnego wyniku. W moim systemie nie ma uruchomionego (x) inetd.
AKTUALIZACJA
Tak, uruchamiałem te polecenia jako root. Telnet mógłby, ale nigdy nie było żadnej odpowiedzi.
Po dalszych badaniach znalazłem błąd jądra w dmesg
: była to instancja EC2 (właściwie kilka z nich) z uruchomionym starszym jądrem (2.6.16 jest najwyraźniej niestabilny). Naprawą zatrzymania awarii była aktualizacja jądra .
Wygląda na to, że awaria jądra spowodowała zakończenie procesu i pozostawienie portu otwartego.
Odpowiedzi:
Porty otwarte przez jądro nie będą wyświetlane z nazwą programu. Przychodzą mi na myśl niektóre elementy NFS i OCFS. Może to coś takiego?
Lub może to być błąd jądra. Sprawdź dzienniki jądra pod kątem OOPS i BŁĘDÓW.
źródło
Czy korzystasz z netstat i lsof jako root lub z sudo? Zwróć uwagę na ostatnią kolumnę:
Ze strony man netstat:
Skąd wiesz, że nie ma jednego uruchomionego? Jeśli port jest w użyciu, ma sens natychmiastowe wyjście z błędu „gniazdo w użyciu”. co się stanie, gdy telnet do portu?
źródło
wykonaj polecenie „netstat --tcp --udp - listening --program” jako użytkownik root . w przeciwnym razie nie poda PID / nazwy programu
następnie użyj komendy kill -9 PID
źródło
Właściwie napisałem mały skrypt powłoki, aby pomóc zidentyfikować te sporadyczne pytania:
zapisz jako / usr / local / bin / tracer; wydajność:
Do korzystania z niego potrzebne będą uprawnienia roota
źródło
Byłem w stanie wyśledzić ten proces, pobierając jego i-węzeł za pośrednictwem netstat, a następnie używając tego i-węzła z lsof. Zobacz moją bardziej szczegółową odpowiedź w /server//a/847910/94376 .
źródło
Czasami programy powiązane z nfs nie są widoczne na liście programów.
Ponadto moduły pam LDAP i libnss_ldap otwierają połączenia z serwerami ldap, ale nie ma faktycznego procesu utrzymującego otwarte połączenie, więc netstat -tnp pokazuje aktywne połączenie bez procesu.
źródło