Skip to main content

Jak používat příkaz Netstat na počítači Mac

The Jak Trilogy Analysis | Naughty Dog's Renegade Platformer (Smět 2024)

The Jak Trilogy Analysis | Naughty Dog's Renegade Platformer (Smět 2024)
Anonim

Příkaz netstat v systému macOS je příkaz Terminál, který slouží k zobrazení podrobných informací o komunikaci v síti Mac. Komunikace v síti zahrnuje všechny způsoby, jakým váš počítač Mac komunikuje s vnějším světem, ve všech přístavech a ve všech aplikacích. Po osvojení netstatu mohou uživatelé Mac rychle pochopit, jaká propojení jejich počítač vytváří a proč.

Spuštěn Netstat

Příkaz netstat je ve výchozím nastavení k dispozici pro Mac. Není třeba ho stahovat ani instalovat.

Chcete-li spustit netstat, otevřete okno Terminál. Pokud nejste s terminálem obeznámeni, najdete jej na adrese /Applications/Utilities/Terminal.app. Typ netstat a stisknutím klávesy Enter spusťte příkaz.

Všimnete si, že obrovské množství tajuplného textu se začne posouvat na obrazovce. To je normální a očekávané. Bez dalších možností bude netstat vykazovat všechna aktivní síťová připojení v 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 společnosti netstat může běžet přes 1000 řádků.

Filtrování výkonu netstatu je nezbytné pro pochopení toho, co se děje na vašich Mac aktivních portů. Produkt netstat můžete filtrovat pomocí vestavěných příznaků. Tyto příznaky umožňují nastavit možnosti, které omezují rozsah a výstup sítě Netstat.

Příznaky a volby služby Netstat

Chcete-li zobrazit všechny volné možnosti společnosti netstat, zadejte příkaz man netstat na příkazovém řádku. To odhalí manuálovou stránku netstatu. Můžete také zobrazit online verzi stránky manostatu netstat.

netstat -AabdgiLlmnqrRsSvWx -C fronta -F family_domain -I rozhraní -p protokol -w Počkejte

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

Tip: Pokud výše uvedená zkratka vypadá zcela nepochopitelně, zjistěte, jak číst syntaxi příkazu.

-r zobrazuje směrovací tabulku a ukazuje, jak jsou pakety směrovány po síti.

-p protokol uvádí provoz spojený s konkrétním síťovým protokolem. Zatímco úplný seznam protokolů lze nalézt v / etc / protocols, důležitější jsou udp a tcp.

-proti zvyšuje výmluvnost, konkrétně přidáním sloupce, který zobrazuje ID procesu (PID) přiřazený každému otevřenému portu.

-I rozhraní poskytuje paketová data pro určené rozhraní. Všechna dostupná rozhraní mohou být zobrazena s příznakem -i, ale en0 je obvykle výchozí odchozí síťové rozhraní. Mějte na paměti malá písmena.

-G zobrazuje informace spojené s vícesměrovým připojením.

-s zobrazuje statistiku sítě pro všechny protokoly, bez ohledu na to, zda jsou aktivní.

-n potlačí označování vzdálených adres s názvy. To dramaticky zrychluje produkci společnosti netstat a přitom obětuje pouze omezené informace.

-A zahrnuje porty serverů ve výstupu netstatu, které nejsou zahrnuty do výchozího výstupu.

Příklady Netstatu

Abychom porozuměli našim praktikám, podívejme se na některé netstatové příklady.

netstat -apv TCP

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

netstat -a | grep -i "poslouchat"

Tato kombinace příkazů netstat a grep odhalí otevřené porty na počítači Mac. Otevřené porty jsou porty, které poslouchají zprávu. Pokud nejste obeznámeni se syntaxí, znak potrubí | se používá k odeslání výstupu jednoho příkazu do jiného příkazu. Provádíme výstup netstatu na grep, což nám umožňuje vyhledat klíčové slovo "poslouchat" a najít naše výsledky.

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

Kromě plnohodnotného použití prostřednictvím rozhraní příkazového řádku terminálu jsou některé funkce systému Netstat dostupné také prostřednictvím aplikace Network Utility. Tato vestavěná aplikace MacOS lze nalézt na / Applications / Utilities / Network Utility.app. Otevřete aplikaci a klikněte na tlačítko Netstat pro přístup k grafickému rozhraní pro netstat.

Možnosti v nástroji Network Utility jsou zjevně mnohem omezené než možnosti dostupné prostřednictvím příkazového řádku. Čtyři volby přepínačů spustí přednastavený příkaz netstat a zobrazí výstup na obrazovce níže.

Příkazy netstat pro každé tlačítko jsou následující:

  • Zobrazte informace o směrovací tabulce běží netstat -r
  • Zobrazte podrobné statistiky sítě pro každý protokol běží netstat -s
  • Zobrazí informace o vícesměrovném vysílání běží netstat -g
  • Zobrazuje stav všech současných připojení soketu běží netstat

Doplňujeme netstat s lsof

Faktem je, že implementace systému netstat v systému MacOS nezahrnuje mnoho funkcí, které uživatelé očekávají a potřebují. Zatímco má své využití, netstat není pro MacOS tak užitečný jako v systému Windows. Jiný příkaz, lsof, může nahradit většinu chybějících funkcí.

lsof zobrazuje všechny soubory, které aktuálně otevřou nějaké aplikace. To lze také využít k prohlížení otevřených portů přidružených k aplikacím. Spusťte lsof -i a 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 Windows. Nicméně, jediný smysluplný způsob, jak splnit tento úkol na macOS není s netstat, ale s lsof.

Zobrazování každého otevřeného souboru nebo připojení k internetu je často naprosto detailní.To je důvod, proč lsof přichází s řadou příznaků pro omezení výsledků s konkrétními kritérii. Existuje mnoho užitečných příznaků, které rozšiřují utilitu příkazu. Nejdůležitější jsou níže. Pro další čtení, včetně více příznaků a technických vysvětlení implementace každé vlajky, podívejte se na manuálovou stránku lsof nebo spusťte muž lsof na příkazovém řádku terminálu.

Příznaky a možnosti

-i zobrazí všechna otevřená síťová připojení a název procesu, který používá připojení. Přidání 4, jako v -i4, zobrazí pouze připojení protokolu IPv4. Přidání 6 místo (-i6) zobrazí pouze připojení IPv6.

The -i může být také rozšířen příznak pro další podrobnosti. -iTCP nebo -iUDP vrátí pouze připojení TCP a UDP. -iTCP: 25 vrátí pouze připojení TCP na portu 25. Rozsah portů lze zadat pomlčkou, protože -iTCP: 25-50.

Použitím příkazu [email protected] se vrátí pouze připojení k adrese IPv4 1.2.3.4. Adresy IPv6 lze zadat stejným způsobem. Předchůdce @ lze také použít k zadání názvů hostitelů stejným způsobem, ale jak vzdálené adresy IP, tak i názvy hostitelů nelze použít současně.

-s typicky síly lsof pro zobrazení velikosti souboru. Ale při spárování s -i vlajka, -s funguje jinak. Umožňuje uživateli zadat protokol a stav příkazu, který se má vrátit.

-p omezuje lsof na konkrétní proces ID (PID). Mnoho PID lze nastavit pomocí obecných příkazů, například -p 123 456 789. ID procesů lze také vyloučit pomocí příkazu ^, jako v odstavci 123, ^ 456, který by výslovně vyloučil PID 456.

-P zakáže konverzi čísel portů na jména portů a urychluje výstup.

-n zakáže konverzi čísel sítí na jména hostitelů. Při použití s -P výše, může výrazně zrychlit výstup lsof.

-u uživatel pouze vrací příkazy vlastněné jmenovaným uživatelem.

Příklady lsof

Stejně jako netstat, vidět některé příklady lsof pomůže praktikovat naše pochopení.

lsof -nP [email protected]: 513

Tento komplexní příkaz zobrazí seznam všech připojení TCP s názvem hostitele lsof.itap a port 513. Bude také spuštěn lsof bez připojení jmen s adresami IP a porty, což způsobí, že příkaz bude spuštěn výrazně rychleji.

lsof -iTCP -sTCP: POČET

Tím se vrátí každé připojení TCP se stavem POSLOUCHAT. To odhaluje všechny otevřené porty TCP na počítači Mac. Rovněž uvádí procesy spojené s těmito otevřenými porty. Jedná se o významný upgrade oproti netstatu, který obsahuje maximálně PID.

sudo lsof -i-u ^ $ (whoami)

Vrátí všechna připojení ne vlastník aktuálně přihlášeného uživatele. Tento příkaz je trochu odlišný od ostatních, takže ho podrobně rozdělíme.

Péče je používána pro negaci. Ve výsledcích bude odebráno všechno, které odpovídá textu po kartáčích. Získáme jméno aktuálně přihlášeného uživatele spuštěním kdo jsem uvnitř příkazu lsof, obklopen $() Lsof umožňuje přístup k jeho výstupu jako text. Spuštění s sudo umožňuje zobrazit úkoly, které nejsou vlastní. Spuštění tohoto příkazu bez sudo vrátí prázdný seznam.

Další příkazy sítě

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