Jak używać LSOF do monitorowania portów w czasie rzeczywistym

Jak Uzywac Lsof Do Monitorowania Portow W Czasie Rzeczywistym



LSOF (List Open Files) to narzędzie do monitorowania wiersza poleceń używane w systemach operacyjnych typu Linux/Unix. Polecenie LSOF dostarcza informacji o aktywnych plikach i procesach, które aktualnie uzyskują do nich dostęp.

Narzędzie wiersza poleceń LSOF jest bardzo przydatne dla administratorów systemów i programistów, umożliwiając im:

  • Określ procesy, które aktualnie wykorzystują konkretny plik lub port, co jest szczególnie ważne w przypadku konfliktów portów
  • Wykryj pliki, które zostały usunięte, ale nadal są otwarte przez procesy, które mogą prowadzić do niepotrzebnego zużycia miejsca; Komenda LSOF służy do identyfikowania i adresowania takich przypadków
  • Pomaga w skutecznym rozwiązywaniu problemów z błędami, takimi jak „port jest już używany”.
  • Śledź aktywność sieciową i otwieraj połączenia sieciowe w celach monitorowania
  • Zbadaj wzorce dostępu do plików, przyczyniając się do identyfikacji potencjalnych naruszeń bezpieczeństwa

W tym samouczku dowiesz się, jak używać polecenia LSOF do monitorowania portów w czasie rzeczywistym.







Podstawowa składnia polecenia LSOF

Składnia polecenia LSOF jest następująca:



$ lsof [ opcje ] [ nazwy ]

Opcje to flagi używane z komendą LSOF. Nazwy reprezentują nazwy plików, identyfikatory PID (identyfikatory procesów), nazwy użytkowników lub pliki sieciowe (IPv4, IPv6). W zależności od podanych opcji polecenie LSOF wyświetla listę otwartych plików odpowiadających tym nazwom.



Monitoruj porty w czasie rzeczywistym za pomocą polecenia LSOF

LSOF jest domyślnie zawarty w wielu systemach Linux. Musisz ręcznie pobrać i zainstalować jeden z dostępnych pakietów, jeśli nie jest on zainstalowany. Aby sprawdzić instalację LSOF w systemie, użyj następującego polecenia, aby wyświetlić zainstalowaną wersję:





$ lsof -W

Należy pamiętać, że aby użyć polecenia LSOF z odpowiednimi uprawnieniami, niektóre informacje o procesach i połączeniach sieciowych mogą wymagać podwyższonych uprawnień administratora, a do uruchomienia polecenia z uprawnieniami administracyjnymi może być konieczne użycie polecenia „sudo”.



Lista plików sieciowych

Po uruchomieniu polecenia LSOF z opcją „-i” wyświetlane są informacje o procesach mających połączenia sieciowe, takie jak gniazda nasłuchujące lub nawiązane połączenia.

$ lsof – tj

Poprzednie polecenie wyświetla informacje o nazwie procesu (COMMAND), identyfikatorze procesu (PID), użytkowniku (USER), deskryptorze pliku (FD), typie połączenia (TYPE), adresach lokalnych i zdalnych oraz stanie połączenia. Powinieneś zobaczyć następujące dane wyjściowe:

Lista połączeń TCP

Możesz filtrować dane wyjściowe na podstawie określonych kryteriów, takich jak określone typy połączeń lub portów. Na przykład możesz użyć „lsof -i tcp”, aby wyświetlić tylko procesy powiązane z połączeniem TCP.

$ lsof -I protokół TCP: 1 - 1024

Poprzednie polecenie filtruje informacje o procesach, które mają otwarte połączenia TCP w określonym zakresie portów od 1 do 1024. Może to być przydatne do identyfikowania, które procesy korzystają z dobrze znanych portów powiązanych z typowymi usługami.

Monitoruj określony port w czasie rzeczywistym

Korzystając z LSOF, możesz monitorować konkretny port w czasie rzeczywistym. Na przykład chcesz monitorować procesy związane z „HTTP” na porcie 80, który jest aktualizowany co 3 sekundy. Aby to zrobić, monitoruj port 80 w czasie rzeczywistym za pomocą następującego polecenia:

$ lsof -I : 80 -r3

Monitoruj port SSHD 22 w czasie rzeczywistym

Aby monitorować wszystkie połączenia SSHD działające na porcie 22, uruchom następującą komendę:

$ sudo lsof -I : 22 -r3

To polecenie stale monitoruje i wyświetla w czasie rzeczywistym informacje o połączeniach sieciowych na porcie 22 co 3 sekundy. Jest to szczególnie przydatne do śledzenia zmian, takich jak nowe połączenia lub rozłączenia SSH, na bieżąco w czasie rzeczywistym.

Monitoruj zakres portów w czasie rzeczywistym

Aby w czasie rzeczywistym monitorować informacje o procesach, które mają otwarte połączenia TCP w określonym zakresie portów od 1 do 1024, możesz użyć następującego polecenia:

$ lsof -I protokół TCP: 1 - 1024 -r3

Monitoruj wszystkie porty w czasie rzeczywistym

Możesz monitorować wszystkie połączenia sieciowe w czasie rzeczywistym za pomocą polecenia LSOF. Na przykład chcesz stale monitorować i wyświetlać w czasie rzeczywistym informacje o połączeniach sieciowych co 5 sekund.

$ lsof -I -r5

Poniższe dane wyjściowe zawierają szczegółowe informacje o procesach i powiązanych z nimi gniazdach sieciowych w czasie rzeczywistym co 5 sekund:

Podobnie możesz monitorować tylko „nawiązane” połączenia za pomocą polecenia LSOF:

$ lsof -I -I -r10

Wniosek

W tym samouczku nauczyliśmy się monitorować porty w czasie rzeczywistym za pomocą polecenia LSOF. To polecenie może również pomóc administratorom systemu i innym użytkownikom Linuksa w monitorowaniu połączeń sieciowych, w tym wszystkich aktywnych i otwartych portów. Mamy nadzieję, że ten przewodnik pomoże Ci zrozumieć, jak używać polecenia LSOF z różnymi opcjami i monitorować różne porty i procesy w czasie rzeczywistym.