Lista alla öppna internetanslutningar på en Mac från terminal för att spåra bandbreddsproblem
Nyligen hade LAN-nätverket på mitt kontor gått långsammare än vanligt, och jag kunde inte fastställa vad som förbrukade all extra bandbredd. Jag hade en misstanke om att P2P-trafiken var skyldig men jag kunde bara inte se något uppenbart på den felande maskinen. Så frågan är förstås, hur ser du vilka processer som ansluter till internet eller omvärlden från Mac OS X?
Med hjälp av kommandoradsverktyget lsof kan vi skicka argumentet -i för att bara lista de aktiva och öppna internetanslutningarna på våra Mac-datorer, och vi kan ta reda på om det är något konstigt (eller i mitt fall, något dolt) pågår och ansluter till en extern adress, och det här kommandot kommer också att visa dig vad process-ID är för den kränkande applikationen eller uppgiften, så att vi kan döda den och stoppa aktiviteten om så önskas.
Visa en lista över alla öppna internetanslutningar i OS X från kommandoraden
Detta måste anges från terminalen i OS X, men det kan användas på distans med SSH eller lok alt på en Mac.
Jag loggade in på den stötande Mac-en och skrev följande kommando:
lsof -i
Du ska inte behöva använda sudo men du kan om så önskas eller krävs för ditt specifika användningsfall.
Utmatningen av lsof är lite upptagen, men om du är bekant med kommandoraden borde den inte vara alltför galen.
Här är ett exempel på utdata som visas av denna lsof -i kommandosträng:
… 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 (LYSSNA)I ovanstående lsof-utgångsskärm är det inget ovanligt, men i min ovannämnda nätverksfelsökning upptäckte jag en BitTorrent-klient som kördes gömd i bakgrunden på en av mina nätverks-Mac-datorer, och den sådde flera stora filer! Naturligtvis dödade jag BitTorrent-klienten, tog bort programmet, raderade filerna och Mac LAN kör på full fart igen.
Endast lista etablerade internetanslutningar
Om du råkar bara visa de etablerade anslutningarna (vilket innebär att de kommunicerar aktivt och en länk har upprättats mellan den lokala datorn och en extern IP-adress), kan du använda den här kommandovarianten av ovannämnda lsof sträng:
lsof -i | grep -E (LYSSNA|ETABLISTERAT)"
Du kan kombinera detta med "watch" för att få en automatiskt uppdaterad lista över etablerade anslutningar också.
Och om du råkar känna till processnamnet kan du alltid använda grep för det specifika eller vaga namnet också.
Det här är lite avancerat, men det fungerar ganska bra för Mac-användare som är bekväma med terminalen och kommandoraden i allmänhet. Fler nybörjare Mac-användare kan använda Private Eye för att övervaka internet- och nätverksanslutningar i OS X, vilket är ett gratis men utmärkt tredjepartsprogram som körs i det grafiska användargränssnittet och är lite lättare att analysera, särskilt om du inte har erfarenhet av terminalen.