Jak używać polecenia Netstat na Macu

Spisu treści:

Jak używać polecenia Netstat na Macu
Jak używać polecenia Netstat na Macu
Anonim

Co warto wiedzieć

  • Aby uruchomić netstat i wyświetlić szczegółowe dane o sieci komputera Mac, otwórz nowe okno Terminal, wpisz netstat i naciśnijEnter.
  • Ogranicz dane wyjściowe netstatu za pomocą flag i opcji. Aby zobaczyć dostępne opcje netstat, wpisz man netstat w wierszu poleceń.
  • Użyj lsof polecenia, aby uzupełnić brakującą lub ograniczoną funkcjonalność netstat, w tym wyświetlanie wszystkich aktualnie otwartych plików w dowolnych aplikacjach.

Ten artykuł wyjaśnia, jak uruchomić polecenie terminala netstat w systemie macOS, aby wyświetlić szczegółowe informacje o komunikacji sieciowej komputera Mac, w tym o tym, w jaki sposób komputer Mac komunikuje się ze światem zewnętrznym, we wszystkich portach i we wszystkich aplikacjach.

Jak uruchomić Netstat

Nauczenie się korzystania z netstatu może pomóc w zrozumieniu połączeń, jakie tworzy Twój komputer i dlaczego. Polecenie netstat jest domyślnie dostępne na komputerach Mac. Nie musisz go pobierać ani instalować.

Aby uruchomić netstat:

  1. Idź do Finder > Go > Narzędzia.

    Image
    Image
  2. Kliknij dwukrotnie Terminal.

    Image
    Image
  3. W nowym oknie Terminala wpisz netstat i naciśnij Return (lub Enter) aby wykonać polecenie.

    Image
    Image
  4. Na ekranie zacznie się przewijać ogromna ilość tekstu. Jeśli nie używasz żadnej z dostępnych flag (patrz poniżej), netstat zgłasza aktywne połączenia sieciowe na komputerze Mac. Biorąc pod uwagę liczbę funkcji, jakie spełnia nowoczesne urządzenie sieciowe, można się spodziewać, że lista będzie długa. Standardowy raport może zawierać ponad 1000 wierszy.

    Image
    Image

Flagi i opcje Netstat

Filtrowanie danych wyjściowych netstat jest niezbędne do zrozumienia, co dzieje się na aktywnych portach komputera Mac. Wbudowane flagi Netstat umożliwiają ustawienie opcji, ograniczając zakres polecenia.

Aby zobaczyć wszystkie dostępne opcje netstat, wpisz man netstat w wierszu poleceń, aby wyświetlić stronę man netstat (skrót od "manual"). Możesz także wyświetlić wersję online strony podręcznika netstat.

Składnia

Ważne jest, aby pamiętać, że netstat na macOS nie działa tak samo jak netstat na Windows i Linux. Używanie flag lub składni z tych implementacji netstat może nie skutkować oczekiwanym zachowaniem.

Aby dodać flagi i opcje do netstat na macOS, użyj następującej składni:

netstat [-AabdgiLlmnqrRsSvWx] [-c kolejka] [-f rodzina_adresów] [-I interfejs] [-p protokół] [-w czekaj]

Jeśli powyższy skrót wygląda zupełnie niezrozumiale, naucz się czytać składnię poleceń.

Przydatne flagi

Oto niektóre z najczęściej używanych flag:

  • - a uwzględnia porty serwera w danych wyjściowych netstat, które nie są uwzględnione w domyślnych danych wyjściowych.
  • - g wyświetla informacje związane z połączeniami multicast.
  • - I interfejs dostarcza dane pakietowe dla określonego interfejsu. Wszystkie dostępne interfejsy można wyświetlić za pomocą flagi - i, ale en0 jest zazwyczaj domyślnym interfejsem sieci wychodzącej. (Zwróć uwagę na małą literę.)
  • - n pomija etykiety adresów zdalnych z nazwami. Przyspiesza to działanie netstatu, eliminując tylko ograniczone informacje.
  • Protokół

  • - p wyświetla listę ruchu związanego z określonym protokołem sieciowym. Pełna lista protokołów jest dostępna pod adresem /etc/protocols, ale najważniejsze z nich to udp i tcp.
  • - r wyświetla tablicę routingu, pokazującą, jak pakiety są kierowane w sieci.
  • - s pokazuje statystyki sieci dla wszystkich protokołów, niezależnie od tego, czy są one aktywne.
  • - v zwiększa szczegółowość, w szczególności przez dodanie kolumny pokazującej identyfikator procesu (PID) powiązany z każdym otwartym portem.

Przykłady Netstat

Rozważ te przykłady:

netstat -apv TCP

To polecenie zwraca tylko połączenia TCP na komputerze Mac, w tym otwarte i aktywne porty. Wykorzystuje również pełne dane wyjściowe, wyświetlając PIDs powiązane z każdym połączeniem.

netstat -a | grep -i "słuchaj"

Ta kombinacja netstat i grep ujawnia otwarte porty, czyli porty nasłuchujące wiadomości. Znak potoku | wysyła dane wyjściowe jednego polecenia do innego polecenia. Tutaj wyjście netstat potoków do grep, co pozwala wyszukać słowo kluczowe "listen" i znaleźć wyniki.

Uzyskiwanie dostępu do Netstat za pomocą narzędzia sieciowego

Możesz również uzyskać dostęp do niektórych funkcji netstat za pośrednictwem aplikacji Network Utility, która jest zawarta w wersjach systemu macOS aż do Catalina (nie jest zawarta w Big Sur).

Aby przejść do Network Utility, wpisz Network Utility w Spotlight Search, aby uruchomić aplikację, a następnie wybierz kartę Netstat, aby uzyskać dostęp do interfejs graficzny.

Image
Image

Opcje w Narzędziu sieciowym są bardziej ograniczone niż te dostępne w wierszu poleceń. Każdy z czterech wyborów przycisków opcji uruchamia zaprogramowane polecenie netstat i wyświetla dane wyjściowe.

Polecenia netstat dla każdego przycisku opcji są następujące:

  • Wyświetl informacje o tablicy routingu działa netstat -r.
  • Wyświetl kompleksowe statystyki sieciowe dla każdego protokołu uruchomiono netstat -s.
  • Wyświetl informacje o multiemisji uruchamia netstat -g.
  • Wyświetl stan wszystkich bieżących połączeń gniazd uruchomiono netstat.
Image
Image

Uzupełnianie Netstat o Lsof

Implementacja netstat w systemie macOS nie zawiera wielu funkcji, których oczekują i potrzebują użytkownicy. Chociaż ma swoje zastosowania, netstat nie jest tak przydatny w systemie MacOS, jak w systemie Windows. Inne polecenie, lsof, zastępuje większość brakujących funkcji.

Lsof wyświetla pliki aktualnie otwarte w aplikacjach. Możesz go również użyć do sprawdzenia otwartych portów związanych z aplikacjami. Uruchom lsof -i, aby zobaczyć listę aplikacji komunikujących się przez Internet. Jest to zazwyczaj celem podczas korzystania z netstat na komputerach z systemem Windows; jednak jedynym znaczącym sposobem wykonania tego zadania na macOS nie jest netstat, ale lsof.

Image
Image

Lsof Flagi i opcje

Wyświetlanie każdego otwartego pliku lub połączenia internetowego jest zazwyczaj pełne. Dlatego lsof zawiera flagi ograniczające wyniki za pomocą określonych kryteriów. Najważniejsze z nich znajdują się poniżej.

Aby uzyskać informacje na temat większej liczby flag i wyjaśnień technicznych każdego z nich, odwiedź stronę man lsof lub uruchom man lsof po wyświetleniu monitu terminala.

  • - i wyświetla otwarte połączenia sieciowe i nazwę procesu, który korzysta z połączenia. Dodanie 4, jak w - i4, wyświetla tylko połączenia IPv4. Dodanie 6 zamiast (- i6) wyświetla tylko połączenia IPv6.
  • Flagę - i można również rozszerzyć, aby określić dalsze szczegóły. -iTCP lub -iUDP zwraca tylko połączenia TCP i UDP. -iTCP:25 zwraca tylko połączenia TCP na porcie 25. Zakres portów można określić za pomocą myślnika, ponieważ -iTCP:25-50.
  • Użycie [email protected] zwraca tylko połączenia z adresem IPv4 1.2.3.4. Adresy IPv6 można określić w ten sam sposób. Prekursora @ można również użyć do określenia nazw hostów w ten sam sposób, ale zarówno zdalne adresy IP, jak i nazwy hostów nie mogą być używane jednocześnie.
  • - s zazwyczaj wymusza wyświetlanie rozmiaru pliku przez lsof. Ale w połączeniu z flagą - i - s działa inaczej. Zamiast tego umożliwia użytkownikowi określenie protokołu i statusu polecenia, które ma zostać zwrócone.
  • - p ogranicza lsof do określonego identyfikatora procesu (PID). Wiele identyfikatorów PID można ustawić za pomocą wartości wspólnych, takich jak -p 123, 456, 789. Identyfikatory procesów można również wykluczyć za pomocą ^, tak jak w 123, ^456, co w szczególności wykluczyłoby PID 456.
  • - P wyłącza konwersję numerów portów na nazwy portów, przyspieszając wyjście.
  • - n wyłącza konwersję numerów sieciowych na nazwy hostów. W przypadku użycia z - P powyżej, może znacznie przyspieszyć działanie lsof.
  • - u użytkownik zwraca tylko polecenia należące do wskazanego użytkownika.

lsof Przykłady

Oto kilka sposobów użycia lsof.

lsof -nP [email protected]:513

To złożone polecenie wyświetla listę połączeń TCP z nazwą hosta lsof.itap i portem 513. Działa również bez łączenie nazw z adresami IP i portami, dzięki czemu polecenie działa zauważalnie szybciej.

lsof -iTCP -sTCP:SŁUCHAJ

To polecenie zwraca każde połączenie TCP ze statusem LISTEN, ujawniając otwarte porty TCP na komputerze Mac. Zawiera również listę procesów związanych z tymi otwartymi portami. Jest to znaczące ulepszenie w stosunku do netstat, który zawiera co najwyżej PID.

Image
Image

sudo lsof -i -u^$(whoami)

Image
Image

Inne polecenia sieciowe

Inne polecenia sieciowe terminala, które mogą być interesujące przy badaniu sieci, to arp, ping i ipconfig.

Zalecana: