Ako používať príkaz Netstat na Macu

Čo vedieť

  • Ak chcete spustiť netstat a zobraziť podrobné údaje o sieti vášho Macu, otvorte nový Terminál okno, typ netstat, a stlačte Zadajte.
  • Obmedzte výstup netstatu príznakmi a možnosťami. Ak chcete zobraziť dostupné možnosti netstat, napíšte man netstat v príkazovom riadku.
  • Použi príkaz lsof aby sa nahradila chýbajúca alebo obmedzená funkčnosť netstatu, vrátane zobrazenia všetkých súborov, ktoré sú aktuálne otvorené v ľubovoľných aplikáciách.

Tento článok vysvetľuje, ako spustiť netstat Príkaz terminálu v systéme macOS, aby ste mohli vidieť podrobné informácie o sieťovej komunikácii vášho Macu, vrátane spôsobov, akými váš Mac komunikuje s vonkajším svetom, a to na všetkých portoch a vo všetkých aplikáciách.

Ako spustiť Netstat

Naučiť sa používať netstat vám môže pomôcť porozumieť spojeniam, ktoré váš počítač vytvára a prečo. Príkaz netstat je predvolene dostupný na počítačoch Mac. Nemusíte ho sťahovať ani inštalovať.

Ak chcete spustiť netstat:

  1. Ísť do Finder > Choď > Verejné služby.

    Ponuka Go Finder so zvýraznenými Utilities
  2. Dvojité kliknutie Terminál.

    Priečinok Utilities so zvýrazneným Terminálom
  3. V novom okne Terminál napíšte netstat a stlačte Návrat (alebo Zadajte) na vykonanie príkazu.

    Terminálové okno so zvýrazneným príkazom netstat
  4. Na obrazovke sa začne posúvať veľké množstvo textu. Ak nepoužívate žiadny z dostupných príznakov (pozri nižšie), netstat nahlási aktívne sieťové pripojenia na vašom Macu. Vzhľadom na množstvo funkcií, ktoré moderné sieťové zariadenie vykonáva, môžete očakávať, že zoznam bude dlhý. Štandardná zostava môže mať viac ako 1 000 riadkov.

    Dlhá správa netstat v okne terminálu

Príznaky a možnosti Netstat

Filtrovanie výstupu netstat je nevyhnutné na pochopenie toho, čo sa deje na aktívnych portoch vášho Macu. Vstavané príznaky Netstatu vám umožňujú nastaviť možnosti, obmedzujúce rozsah príkazu.

Ak chcete zobraziť všetky dostupné možnosti netstat, napíšte man netstat na príkazovom riadku, aby sa zobrazila stránka netstat's man (skratka pre „manual“). Môžete tiež zobraziť online verzia manuálovej stránky netstat.

Syntax

Je dôležité poznamenať, že netstat v systéme macOS nefunguje rovnako ako netstat v systéme Windows a Linux. Použitie príznakov alebo syntaxe z týchto implementácií netstat nemusí viesť k očakávanému správaniu.

Ak chcete pridať príznaky a možnosti do netstat v systéme macOS, použite nasledujúcu syntax:

netstat [-AabdgiLlmnqrRsSvWx] [-c front] [-f adresa_rodina] [-I rozhranie] [-p protokol] [-w čakať]

Ak vyššie uvedená skratka vyzerá úplne nezrozumiteľne, poučte sa ako čítať syntax príkazu.

Užitočné vlajky

Tu sú niektoré z najčastejšie používaných príznakov:

  • -a zahŕňa porty servera vo výstupe netstat, ktoré nie sú zahrnuté v predvolenom výstupe.
  • -g zobrazuje informácie súvisiace s multicast pripojeniami.
  • -Jarozhranie poskytuje paketové dáta pre zadané rozhranie. Všetky dostupné rozhrania je možné zobraziť pomocou -i vlajka, ale en0 je zvyčajne predvolené rozhranie odchádzajúcej siete. (Všimnite si malé písmeno.)
  • -n potlačí označenie vzdialených adries menami. To urýchľuje výstup netstatu a zároveň eliminuje iba obmedzené informácie.
  • -pprotokol uvádza návštevnosť spojenú s konkrétnym sieťový protokol. Úplný zoznam protokolov je dostupný na /etc/protocols, ale tie najdôležitejšie sú udp a TCP.
  • -r zobrazí smerovacia tabuľka, ukazujúci ako paketysmerované okolo siete.
  • -s zobrazuje štatistiku siete pre všetky protokoly bez ohľadu na to, či sú protokoly aktívne alebo nie.
  • -v zvyšuje výrečnosť, konkrétne pridaním stĺpca zobrazujúceho ID procesu (PID) spojeného s každým otvoreným portom.

Príklady Netstat

Zvážte tieto príklady:

netstat -apv TCP

Tento príkaz vráti iba TCP pripojenia na vašom Macu, vrátane otvorených portov a aktívnych portov. Používa tiež podrobný výstup so zoznamom PID spojených s každým pripojením.

netstat -a | grep - "počúvam"

Táto kombinácia netstat a grep odhaľuje otvorené porty, čo sú porty, ktoré počúvajú správu. Charakter potrubia | odošle výstup jedného príkazu inému príkazu. Tu je výstup z netstat potrubia do grep, čo vám umožní vyhľadať kľúčové slovo „počúvať“ a nájsť výsledky.

Prístup k Netstatu cez Network Utility

K niektorým funkciám netstat môžete pristupovať aj prostredníctvom aplikácie Network Utility, ktorá je zahrnutá vo verziách macOS až po Catalina (nie je súčasťou Big Sur).

Ak chcete prejsť do Network Utility, napíšte Sieťová pomôcka do Spotlight Search spustite aplikáciu a potom vyberte Netstat pre prístup ku grafickému rozhraniu.

Karta Netstat v Network Utility

Možnosti v rámci Network Utility sú obmedzenejšie ako možnosti dostupné cez príkazový riadok. Každý zo štyroch výberov prepínačov spustí prednastavený príkaz netstat a zobrazí výstup.

Príkazy netstat pre každý prepínač sú nasledovné:

  • Zobrazte informácie o smerovacej tabuľke beží netstat -r.
  • Zobrazte komplexné sieťové štatistiky pre každý protokol beží netstat -s.
  • Zobrazenie informácií o multicaste beží netstat -g.
  • Zobrazte stav všetkých aktuálnych pripojení zásuvky beží netstat.
Sieťová utilita Netstat

Doplnenie Netstat s Lsof

Implementácia netstat pre macOS nezahŕňa veľa funkcií, ktoré používatelia očakávajú a potrebujú. Aj keď má netstat svoje využitie, nie je v systéme MacOS taký užitočný ako v systéme Windows. Iný príkaz, lsof, nahrádza veľkú časť chýbajúcich funkcií.

Lsof zobrazuje súbory aktuálne otvorené v aplikáciách. Môžete ho použiť aj na kontrolu otvorených portov súvisiacich s aplikáciou. Bežať lsof -i zobrazíte zoznam aplikácií komunikujúcich cez internet. Toto je zvyčajne cieľom pri používaní netstat na počítačoch so systémom Windows; avšak jediný zmysluplný spôsob, ako splniť túto úlohu v systéme macOS, nie je pomocou netstat, ale pomocou lsof.

Lsof výstupu

Príznaky a možnosti Lsof

Zobrazenie každého otvoreného súboru alebo internetového pripojenia je zvyčajne podrobné. To je dôvod, prečo lsof prichádza s príznakmi na obmedzenie výsledkov s konkrétnymi kritériami. Najdôležitejšie z nich sú uvedené nižšie.

Ak chcete získať informácie o ďalších príznakoch a technických vysvetleniach každého z nich, pozrite sa manuálová stránka lsof alebo bežať muž lsof na výzvu terminálu.

  • -i zobrazí otvorené sieťové pripojenia a názov procesu, ktorý pripojenie používa. Pridanie a 4, ako v -i4, zobrazuje iba IPv4 pripojenia. Pridanie a 6 namiesto toho (-i6) zobrazuje iba pripojenia IPv6.
  • The -i vlajku možno tiež rozšíriť a špecifikovať ďalšie podrobnosti. -iTCP alebo -iUDP vráti iba pripojenia TCP a UDP. -iTCP: 25 vráti iba pripojenia TCP na porte 25. Rozsah portov môže byť špecifikovaný pomlčkou, pretože -iTCP: 25-50.
  • Použitie [email protected] vráti iba pripojenia na adresu IPv4 1.2.3.4. Adresy IPv6 je možné zadať rovnakým spôsobom. Prekurzor @ možno použiť aj na zadanie názvov hostiteľov rovnakým spôsobom, ale obe vzdialené IP adresy a názvy hostiteľov nemožno použiť súčasne.
  • -s zvyčajne núti lsof zobraziť veľkosť súboru. Ale keď sa spáruje s -i vlajka, -s funguje inak. Namiesto toho umožňuje používateľovi špecifikovať protokol a stav príkazu, ktorý sa má vrátiť.
  • -p obmedzuje lsof na konkrétne ID procesu (PID). Viaceré PID možno nastaviť pomocou bežných, ako napríklad -p 123,456,789. ID procesov možno vylúčiť aj pomocou ^, ako v prípade 123,^456, čo by konkrétne vylúčilo PID 456.
  • -P zakáže konverziu čísiel portov na názvy portov, čím sa zrýchli výstup.
  • -n zakáže konverziu sieťových čísel na názvy hostiteľov. Pri použití s -P vyššie, môže výrazne urýchliť výstup lsof.
  • -u užívateľ vráti iba príkazy vlastnené menovaným používateľom.

Niekoľko príkladov

Tu je niekoľko spôsobov, ako použiť lsof.

lsof -nP [email protected]: 513

Tento komplexne vyzerajúci príkaz uvádza zoznam TCP spojení s názvom hostiteľa lsof.itap a prístav 513. Tiež beží lsof bez pripojenia mien k IP adresám a portom, vďaka čomu príkaz beží výrazne rýchlejšie.

lsof -iTCP -sTCP: POČÚVAŤ

Tento príkaz vráti každé spojenie TCP so stavom POČÚVAŤ, odhaľujúce otvorené TCP porty na Macu. Uvádza tiež procesy spojené s týmito otvorenými portami. Toto je významný upgrade netstat, ktorý uvádza najviac PID.

Príkaz Lsof počúvať

sudo lsof -i -u^$(whoami)

Príkaz Whoami v termináli

Ďalšie sieťové príkazy

Medzi ďalšie sieťové príkazy terminálu, ktoré by mohli byť zaujímavé pri skúmaní vašej siete, patria arp, pinga ipconfig.