Liste over alle åbne internetforbindelser på en Mac fra terminal til at spore båndbreddeproblemer
For nylig havde LAN'et på mit kontor kørt langsommere end norm alt, og jeg kunne ikke finde ud af, hvad der brugte al den ekstra båndbredde. Jeg havde en mistanke om, at P2P-trafik var skylden, men jeg kunne bare ikke se noget tydeligt på den fornærmende maskine. Så spørgsmålet er selvfølgelig, hvordan ser du, hvilke processer der forbinder til internettet eller omverdenen fra Mac OS X?
… noget skjult) foregår og forbinder til en ekstern adresse, og denne kommando vil også vise dig, hvad proces-id'et er for den fornærmende applikation eller opgave, så vi kan dræbe den og stoppe aktiviteten, hvis det ønskes.
Vis en liste over alle åbne internetforbindelser i OS X fra kommandolinjen
Dette skal indtastes fra terminalen i OS X, men det kan bruges eksternt med SSH eller lok alt på en Mac.
Jeg loggede ind på den stødende Mac og skrev følgende kommando:
lsof -i
Du burde ikke behøve at bruge sudo, men du kan, hvis det ønskes eller kræves til din specifikke brug.
Outputtet fra lsof er lidt travlt, men hvis du er bekendt med kommandolinjen, burde det ikke være noget for skørt.
Her er et eksempel på output vist af denne lsof -i kommandostreng:
… 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 ( Etableret) Synergys 129 Macuser 5u IPv4 0x05f2f6b0 0T0 Tcp : 24800 (lyt) Safari 148 MacUser 10u ipv4 0x06db46e0 0t0 tcp 192.168.0.101:57557->host29.prod.google.com: :daap (LYT)I ovenstående lsof output-skærm er der intet usædvanligt, men i min førnævnte netværksfejlfinding opdagede jeg en BitTorrent-klient, der kørte skjult i baggrunden på en af mine netværks-Mac'er, og den så flere store filer! Naturligvis dræbte jeg BitTorrent-klienten, fjernede applikationen, slettede filerne, og Mac LAN'et kører med fuld hastighed igen.
Anfører 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 kommandovariant af førnævnte lsof streng:
lsof -i | grep -E (LYT|ETABLISERET)"
Du kan kombinere dette med 'watch' for også at få en automatisk opdateret liste over etablerede forbindelser.
Og hvis du tilfældigvis kender procesnavnet, kan du også altid bruge grep til det specifikke eller vage navn.
Dette er en smule avanceret, men det fungerer ganske godt for Mac-brugere, der generelt er fortrolige med terminalen og kommandolinjen. Flere nybegyndere Mac-brugere kan bruge Private Eye til at overvåge internet- og netværksforbindelser i OS X, som er et gratis, men fremragende tredjepartsprogram, der kører i den grafiske brugergrænseflade og er en smule lettere at parse, især hvis du ikke har erfaring med terminalen.