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.