A Netstat parancs használata Mac gépen

A netstat parancs a macOS-ban egy Terminal parancs, amely részletes információkat jelenít meg a számítógép hálózati kommunikációjáról. A hálózati kommunikáció magában foglalja a Mac összes módját, amellyel a külvilággal, az összes porton és minden alkalmazáson keresztül beszél. Hódító netstat segíthet megérteni a számítógép által létrehozott kapcsolatokat és miért.


A Netstat futtatása

A netstat parancs alapértelmezés szerint elérhető Mac számítógépeken. Nem kell letölteni vagy telepíteni.

A netstat futtatásához nyissa meg a Terminal ablakot a címen alkalmazások > Utilities > terminál. típus netstat és nyomja meg az belép a parancs végrehajtásához.

 wakila / Getty Images 

Hatalmas mennyiségű szöveg kezd görgetni a képernyőn. Ha nem használ egyetlen elérhető zászlót sem (lásd alább), netstat jelenteni fogja az összes aktív hálózati kapcsolatot a Mac-en. Figyelembe véve a modern hálózati eszközök által végrehajtott funkciók számát, számíthat arra, hogy a lista hosszú lesz. Egy szabványos jelentés jóval több mint 1000 soron futhat.

A netstat kimenetének szűrése elengedhetetlen ahhoz, hogy megértsük, mi történik a Mac aktív portjain. Beépített zászlói lehetővé teszik az opciók beállítását, korlátozva a parancs hatókörét.


Netstat zászlók és opciók

A netstat összes elérhető opciójának megtekintéséhez írja be a következőt: ember netstat a parancssorban, hogy felfedje a netstat man oldalát. Megtekintheti a netstat man oldalának online változatát is.

Az "ember" a "kézi" rövidítés.

Szintaxis

Jelölők és beállítások hozzáadásához a netstat-hoz használja a következő szintaxist:

netstat [-AabdgiLlmnqrRsSvWx] [-c sor] [-f cím_család] [-I interfész] [-p protokoll] [-w várakozás]

netstat a macOS-on nem ugyanúgy működik, mint a netstat Windows és Linux rendszereken. A netstat ezen megvalósításaiból származó jelzők vagy szintaxis használata nem eredményezheti a várt viselkedést.

Ha a fenti gyorsírás teljesen érthetetlennek tűnik, akkor ismerje meg a parancs szintaxisának olvasását.

Hasznos zászlók

Íme néhány a leggyakrabban használt zászlók:

  • -a szerver portokat tartalmaz a netstat kimenetében, amelyek nem szerepelnek az alapértelmezett kimenetben.
  • -g a multicast kapcsolatokhoz társított információkat jeleníti meg.
  • -I interfész csomagadatokat biztosít a megadott interfészhez. Az összes elérhető interfész megtekinthető a -i zászló, de en0 általában az alapértelmezett kimenő hálózati interfész. (Vegye figyelembe a kisbetűt.)
  • -n elnyomja a távoli címek nevekkel címkézését. Ez drámai módon felgyorsítja a netstat kimenetét, miközben csak korlátozott információkat áldoz fel.
  • -p protokoll felsorolja egy adott hálózati protokollhoz társított forgalmat. A protokollok teljes listája a következő címen érhető el: / etc / protokollok, de a legfontosabbak azok udp és tcp.
  • -r megjeleníti az útválasztási táblázatot, amely megmutatja, hogyan irányítják a csomagokat a hálózaton.
  • -s az összes protokoll hálózati statisztikáját mutatja, függetlenül attól, hogy aktívak-e vagy sem.
  • -v növeli a bőbeszédűséget, különösen egy oszlop hozzáadásával, amely bemutatja az egyes nyitott portokhoz tartozó folyamatazonosítókat (PID).

Netstat példák

Tekintsük ezeket a példákat:

netstat -apv TCP

Ez a parancs csak a TCP-kapcsolatokat adja vissza a Mac-en, beleértve a nyitott és az aktív portokat is. Bővített kimenetet is használ, felsorolva az egyes kapcsolatokhoz tartozó PID-eket.

netstat -a | grep -i "figyelj"

Ez a kombináció netstat és grep feltárja a nyitott portokat - olyan portokat, amelyek üzenetet hallgatnak. A pipa karakter | az egyik parancs kimenetét elküldi egy másik parancsnak. Itt a kimenete netstat csövek a grep, lehetővé téve a "hallgatás" kulcsszóra való keresést és az eredmények megkeresését.


A Netstat elérése a hálózati segédprogramon keresztül

Hozzáférhet néhányukhoz is netstat's a Hálózati segédprogram alkalmazáson keresztül rendszer > könyvtár > CoreServices > alkalmazások.

Kattintson az netstat lapon érheti el a grafikus felületet.

A Hálózati segédprogram opciói sokkal korlátozottabbak, mint a parancssoron keresztül elérhetőek. A négy választógomb-választás mindegyike fut egy előre beállított netstat-ot parancsot, és megjeleníti a kimenetet.

Az egyes rádiógombok netstat parancsai a következők:

  • Az útválasztási táblázat információinak megjelenítése fut netstat -r.
  • Átfogó hálózati statisztikák megjelenítése az egyes protokollokról fut netstat -s.
  • Multicast információk megjelenítése fut netstat -g.
  • Jelenítse meg az összes jelenlegi csatlakozó állapotát fut netstat.


A Netstat kiegészítése Lsof-tal

A netstat macOS megvalósítása nem sok olyan funkciót tartalmaz, amelyet a felhasználók elvárnak és amire szükségük van. Noha felhasználható, a netstat nem olyan hasznos a macOS-on, mint a Windows-on. Más parancs, lsof, a hiányzó funkciók nagy részét pótolja.

A Lsof az összes alkalmazásban jelenleg megnyitott fájlt jeleníti meg. Használhatja az alkalmazással társított nyitott portok ellenőrzésére is. Fuss lsof -i, és megjelenik az interneten kommunikáló összes alkalmazás listája. Tipikusan ez a cél, amikor a netstatot Windows gépeken használják; ennek a feladatnak a macOS-on való végrehajtásának egyetlen értelmes módja nem a netstat, hanem az lsof.

Lsof zászlók és opciók

Minden egyes megnyitott fájl vagy internetkapcsolat megjelenítése általában részletes. Ezért érkezik az lsof zászlókkal az eredmények meghatározott feltételekkel történő korlátozásához. A legfontosabbak alább vannak.

Ha többet szeretne megtudni az egyes zászlókról és technikai magyarázatokról, nézze meg az lsof man oldalát, vagy futtassa ember lsof a terminál parancssoránál.

  • -i megjeleníti az összes nyitott hálózati kapcsolatot és a kapcsolatot használó folyamat nevét. A hozzáadása 4, mint a -i4, csak az IPv4 kapcsolatokat jeleníti meg. A hozzáadása 6 helyett (-i6) csak az IPv6 kapcsolatokat jeleníti meg.
  • A -i a flag is kibővíthető a további részletek megadásával. -iTCP vagy -iUDP csak a TCP és UDP kapcsolatokat adja vissza. -iTCP: 25 csak a TCP-kapcsolatokat adja vissza a 25-ös porton. A portok tartománya definiálható kötőjellel, mivel ez -iTCP: 25-50.
  • Az [email protected] használatával csak az 4 IPv1.2.3.4-címhez csatlakozik. Az IPv6-címek ugyanúgy megadhatók. A @ prekurzor a gazdanevek azonos megadására is használható, de a távoli IP-címek és a gazdagépnevek sem használhatók egyidejűleg.
  • -s általában a fájlméret megjelenítésére kényszeríti az lsofot. De amikor a -i zászló, -s másképp működik. Ehelyett lehetővé teszi a felhasználó számára, hogy meghatározza a visszatérő parancs protokollját és állapotát.
  • -p az lsof-ot egy adott folyamatazonosítóra (PID) korlátozza. Több PID beállítható a commons, például a -p 123,456,789 123 456 használatával. A folyamatazonosítókat egy ^ -el is ki lehet zárni, mint például a 456, ^ XNUMX esetében, ami kifejezetten kizárná a PID XNUMX-ot.
  • -P letiltja a portszámok konvertálását portnevekké, ezzel gyorsítva a kimenetet.
  • -n letiltja a hálózati számok konvertálását állomásnevekké. Ha együtt használják -P fentebb jelentősen felgyorsíthatja az lsof kimenetét.
  • -u felhasználó csak a megnevezett felhasználó tulajdonában lévő parancsokat adja vissza.

Például

Íme néhány mód az lsof használatára.

lsof -nP [email protected]: 513

Ez az összetett megjelenésű parancs felsorolja az összes TCP kapcsolatot a hostnévvel lsof.itap és a kikötő 513. Az lsof programot úgy is futtatja, hogy nem kapcsolja össze a neveket az IP-címekkel és a portokkal, így a parancs érezhetően gyorsabban fut.

lsof -iTCP -sTCP: HALLGAT

Ez a parancs minden TCP-kapcsolatot visszaad az állapotával HALLGAT, feltárva a Mac összes nyitott TCP-portját. Felsorolja az ezekhez a nyitott portokhoz kapcsolódó folyamatokat is. Ez egy jelentős frissítés netstat, amely legfeljebb PID-eket sorol fel.

sudo lsof -i -u ^ $ (whoami)

Ez a parancs visszaad minden olyan kapcsolatot, amely nem a jelenleg bejelentkezett felhasználó tulajdonában van.

A karet (^) tagadásra szól. Az eredmények nem tartalmaznak semmit, ami megfelelne a szöveg után. A jelenleg bejelentkezett felhasználó nevét futtatással kaphatja meg whoami belül lsof parancs, körülvéve $ () engedni lsof a kimenetét szövegként érheti el. A sudo segítségével futtathatja a nem saját tulajdonában lévő feladatokat. A parancs sudo nélküli futtatása üres listát eredményez.

Egyéb hálózati parancsok

Egyéb terminál hálózati parancsok, amelyek érdekesek lehetnek a hálózat vizsgálata során, az arp, a ping és az ipconfig.