Angiv alle åbne internetforbindelser på en Mac fra Terminal til Spor ned båndbreddeproblemer

For nylig var LAN'en på mit kontor kørt langsommere end normalt, og jeg kunne ikke finde ud af, hvad der brugte op på al den ekstra båndbredde. Jeg havde en mistanke om, at P2P-trafikken var skylden, men jeg kunne bare ikke se noget indlysende på den overtrædende maskine. Så spørgsmålet er selvfølgelig, hvordan ser du hvilke processer der forbinder til internettet eller omverdenen fra Mac OS X?

Ved hjælp af kommandolinjeværktøjet lsof kan vi passere -i-argumentet for kun at liste de aktive og åbne internetforbindelser på vores Mac'er, og vi kan finde ud af, om der er noget ejendommeligt (eller i mit tilfælde noget skjult), der foregår og forbinder til en ekstern adresse, og denne kommando vil også vise dig, hvad proces-ID'et er for den overordnede applikation eller opgave, så vi kan dræbe det og stoppe aktiviteten hvis det ønskes.

Vis en liste over alle åbne internetforbindelser i OS X fra kommandolinjen

Dette skal indtastes fra Terminal OS X, men det kan bruges eksternt med SSH eller lokalt på en Mac.

Jeg logger ind på den fornærmende Mac og skrev følgende kommando:

lsof -i

Du skal ikke bruge sudo, men du kan om ønsket eller krævet til din specifikke brugssag.

Output af lsof er lidt travlt, men hvis du er bekendt med kommandolinjen, bør det ikke være alt for skørt udseende.

Her er et eksempel på output, der vises af denne lsof -i kommandostreng:

MacMini:~ macuser$ lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
SystemUIS 93 macuser 6u IPv4 0x04db27bc 0t0 UDP *:*
SystemUIS 93 macuser 10u IPv4 0x04db26e0 0t0 UDP *:*
iChatAgen 111 macuser 6u IPv4 0x07084734 0t0 UDP localhost:49490->localhost:49490
iChatAgen 111 macuser 10u IPv4 0x05666f28 0t0 TCP 192.168.0.101:53762->bos-m012c-sdr6.blue.aol.com:aol (ESTABLISHED)
synergys 129 macuser 5u IPv4 0x05f2f6b0 0t0 TCP *:24800 (LISTEN)
Safari 148 macuser 10u IPv4 0x06db46e0 0t0 TCP 192.168.0.101:57557->host29.prod.google.com:http (CLOSE_WAIT)
iTunes 644 macuser 21u IPv4 0x05f2f2a4 0t0 TCP *:daap (LISTEN)

I ovennævnte lsof udgangsdisplay er der ikke noget usædvanligt, men i min ovennævnte netværksfejlfinding opdagede jeg en BitTorrent-klient, der kører skjult i baggrunden af ​​en af ​​mine netværks-Mac'er, og det såede flere store filer! Naturligvis dræbte jeg BitTorrent klienten, fjernede applikationen, slettede filerne, og Mac LAN kører med fuld hastighed igen.

Notering Kun etablerede internetforbindelser

Hvis du tilfældigvis kun vil vise de etablerede forbindelser (hvilket betyder, at de kommunikerer aktivt og der er etableret et link mellem den lokale maskine og en ekstern IP), kan du bruge denne kommandovariation af førnævnte lsof-streng:

lsof -i | grep -E "(LISTEN|ESTABLISHED)"

Du kan kombinere dette med 'watch' for at få en automatisk opdateret liste over etablerede forbindelser også.

Og hvis du er ved at kende procesnavnet, kan du altid bruge grep til det specifikke eller vage navn også.

Dette er lidt avanceret, men det virker ganske godt for Mac-brugere, der er komfortable med terminal- og kommandolinjen generelt. Flere nybegyndere Mac-brugere kan bruge Private Eye til at overvåge internet- og netværksforbindelser i OS X, som er en gratis, men fremragende tredjepartsapplikation, der kører i den grafiske brugergrænseflade, og er lidt lettere at analysere, især hvis du ikke har erfaring med terminalen.