Jak používat příkaz Netstat v systému Mac

Příkaz netstat v systému macOS je příkaz Terminál, který zobrazuje podrobné informace o síťové komunikaci vašeho počítače. Síťová komunikace zahrnuje všechny způsoby, jak váš Mac mluví s vnějším světem, přes všechny porty a všechny aplikace. Dobytí netstat vám pomůže pochopit připojení, která váš počítač vytváří, a proč.


Spuštěn Netstat

Příkaz netstat je ve výchozím nastavení k dispozici na počítačích Mac. Nemusíte jej stahovat ani instalovat.

Chcete-li spustit netstat, otevřete okno Terminál na adrese Aplikace > Utility > terminál. Typ netstat a stiskněte vstoupit k provedení příkazu.

wakila / Getty Images

Na obrazovce se začne posouvat obrovské množství textu. Pokud nepoužíváte žádný z dostupných příznaků (viz níže), netstat ohlásí všechna aktivní síťová připojení ve vašem počítači Mac. Vzhledem k počtu funkcí, které moderní síťové zařízení provádí, můžete očekávat, že seznam bude zdlouhavý. Standardní zpráva může běžet přes 1000 řádků.

Filtrování výstupu netstatu je zásadní pro pochopení toho, co se děje na aktivních portech vašeho Macu. Jeho předdefinované příznaky vám umožňují nastavit možnosti omezující rozsah příkazu.

Příznaky a možnosti Netstat

Chcete-li zobrazit všechny dostupné možnosti netstatu, zadejte muž netstat na příkazovém řádku odhalit manuálovou stránku netstat. Můžete také zobrazit online verzi manuálové stránky netstat.

„Muž“ je zkratka pro „manuální“.

Syntax

Chcete-li přidat příznaky a možnosti do netstatu, použijte následující syntaxi:

netstat [-AabdgiLlmnqrRsSvWx] [-c fronta] [-f rodina_ adres] [-I rozhraní] [-p protokol] [-w počkat]

Netstat v systému macOS nefunguje stejným způsobem jako netstat v systémech Windows a Linux. Použití příznaků nebo syntaxe z těchto implementací netstat nemusí mít za následek očekávané chování.

Pokud výše uvedená zkratka vypadá zcela nesrozumitelně, naučte se číst syntaxi příkazu.

Užitečné vlajky

Zde jsou některé z nejčastěji používaných příznaků:

  • -a zahrnuje porty serveru ve výstupu netstat, které nejsou zahrnuty ve výchozím výstupu.
  • -g zobrazí informace spojené s vícesměrovým připojením.
  • -I interface poskytuje paketová data pro zadané rozhraní. Všechna dostupná rozhraní lze zobrazit pomocí -i vlajka, ale en0 je obvykle výchozí odchozí síťové rozhraní. (Všimněte si malého písmene.)
  • -n potlačí štítky vzdálených adres se jmény. To dramaticky zrychluje výstup netstatu a obětuje jen omezené informace.
  • -p Protokol uvádí přenosy spojené s konkrétním síťovým protokolem. Úplný seznam protokolů je k dispozici na adrese / etc / protokoly, ale ty nejdůležitější jsou udp a tcp.
  • -r zobrazí směrovací tabulku, která ukazuje, jak jsou pakety směrovány po síti.
  • -s zobrazuje statistiky sítě pro všechny protokoly, bez ohledu na to, zda jsou aktivní.
  • -v zvyšuje výřečnost, konkrétně přidáním sloupce s ID procesu (PID) přidruženým ke každému otevřenému portu.

Příklady Netstat

Zvažte tyto příklady:

netstat -apv TCP

Tento příkaz vrátí pouze připojení TCP na vašem počítači Mac, včetně otevřených portů a aktivních portů. Používá také podrobný výstup se seznamem PID přidružených ke každému připojení.

netstat -a | grep -i "poslouchat"

Tato kombinace netstat a grep odhaluje otevřené porty - porty, které poslouchají zprávu. Znak kanálu | odešle výstup jednoho příkazu jinému příkazu. Zde je výstup netstat potrubí do grep, který vám umožní vyhledat klíčové slovo „poslouchat“ a najít výsledky.


Přístup k Netstatu prostřednictvím nástroje Network Utility

Můžete také přistupovat k některým z netstat prostřednictvím aplikace Network Utility na Systém > Knihovna > CoreServices > Aplikace.

Klepněte na tlačítko Netstat záložka pro přístup do grafického rozhraní.

Možnosti v programu Network Utility jsou mnohem omezenější než možnosti dostupné z příkazového řádku. Každý ze čtyř výběrů přepínačů spouští přednastavený netstat příkaz a zobrazí výstup.

Příkazy netstat pro každý přepínač jsou následující:

  • Zobrazit informace o směrovací tabulce běží netstat -r.
  • Zobrazte komplexní síťové statistiky pro každý protokol běží netstat -s.
  • Zobrazit informace vícesměrového vysílání běží netstat -g.
  • Zobrazte stav všech aktuálních připojení soketu běží netstat.

Doplnění Netstatu s Lsof

Implementace systému netstat v systému macOS nezahrnuje mnoho funkcí, které uživatelé očekávají a potřebují. Ačkoli má své použití, netstat není v macOS tak užitečný jako v systému Windows. Jiný příkaz, také, nahradí většinu chybějících funkcí.

Lsof zobrazuje všechny soubory aktuálně otevřené v jakékoli aplikaci. Můžete jej také použít ke kontrole otevřených portů spojených s aplikací. Běh také -ia uvidíte seznam všech aplikací komunikujících přes internet. Toto je obvykle cíl při použití netstatu na počítačích se systémem Windows; Jediným smysluplným způsobem, jak tento úkol v systému macOS splnit, však není netstat, ale lsof.

Lsof příznaky a možnosti

Zobrazení každého otevřeného souboru nebo připojení k internetu je obvykle podrobné. Proto lsof přichází s příznaky omezení výsledků pomocí konkrétních kritérií. Nejdůležitější jsou níže.

Informace o dalších vlajkách a technické vysvětlení každého z nich najdete na manuálové stránce lsof nebo na jejím spuštění muž na výzvu terminálu.

  • -i zobrazí všechna otevřená síťová připojení a název procesu, který připojení používá. Přidání a 4, jako v -i4, zobrazí pouze připojení IPv4. Přidání a 6 namísto (-i6) zobrazí pouze připojení IPv6.
  • Společnost -i příznak lze také rozšířit a určit další podrobnosti. -iTCP nebo -iUDP vrátí pouze připojení TCP a UDP. -iTCP: 25 vrátí pouze připojení TCP na portu 25. Řadu portů lze zadat pomlčkou, protože -iTCP: 25-50.
  • Použití [email protected] vrátí pouze připojení na adresu IPv4 1.2.3.4. Adresy IPv6 lze zadat stejným způsobem. Prekurzor @ lze také použít ke specifikaci názvů hostitelů stejným způsobem, ale nelze použít současně vzdálené adresy IP i názvy hostitelů.
  • -s obvykle nutí lsof zobrazit velikost souboru. Ale při spárování s -i vlajka, -s funguje jinak. Místo toho umožňuje uživateli určit protokol a stav návratu příkazu.
  • -p omezuje lsof na konkrétní ID procesu (PID). Více PID lze nastavit pomocí commons, například -p 123,456,789 123 456. ID procesu lze také vyloučit pomocí ^, jako v 456, ^ XNUMX, což by konkrétně vyloučilo PID XNUMX.
  • -P zakáže převod čísel portů na názvy portů a zrychlí výstup.
  • -n zakáže převod čísel sítě na názvy hostitelů. Při použití s -P výše může výrazně zrychlit výstup lsof.
  • -u uživatel vrátí pouze příkazy vlastněné pojmenovaným uživatelem.

z příkladů

Zde je několik způsobů použití lsof.

lsof -nP [email protected]: 513

Tento komplexně vypadající příkaz uvádí všechna připojení TCP s názvem hostitele také itap a port 513. Spouští také lsof bez připojení názvů k IP adresám a portům, takže příkaz běží znatelně rychleji.

lsof -iTCP -sTCP: POSLOUCHEJTE

Tento příkaz vrátí každé připojení TCP se stavem POSLOUCHAT, odhalující všechny otevřené porty TCP na vašem Macu. Rovněž uvádí procesy spojené s těmito otevřenými porty. Jedná se o významný upgrade netstat, který uvádí maximálně PID.

sudo lsof -i -u ^ $ (whoami)

Tento příkaz vrátí všechna připojení, která nevlastní aktuálně přihlášený uživatel.

Stříška (^) je pro negaci. Výsledky nebudou obsahovat nic, co by odpovídalo textu za stříškou. Jméno aktuálně přihlášeného uživatele můžete získat spuštěním whoami uvnitř také velení, obklopen $ () nechat také přistupovat k jeho výstupu jako text. Běh s sudo vám umožní zobrazit úkoly, které nevlastníte vy. Spuštění tohoto příkazu bez sudo vrátí prázdný seznam.

Další síťové příkazy

Mezi další síťové příkazy terminálu, které by mohly být zajímavé při zkoumání vaší sítě, patří arp, ping a ipconfig.