Показати, які програми & процеси використовують підключення до Інтернету через командний рядок у Mac OS X
Зміст:
- Як показати імена програм і процесів за допомогою Інтернету в Mac OS X
- Як показати детальну інформацію для ідентифікатора процесу підключення до Інтернету з Mac OS X
Подібно до того, як ви можете контролювати використання файлової системи Mac OS X за допомогою командного рядка, ви також можете дізнатися, які програми та окремі процеси зараз використовують ваше підключення до Інтернету Mac. Це дуже зручний трюк, якщо ви знаєте, що ваша пропускна здатність використовується чимось, або якщо ви просто намагаєтесь відстежити, які програми чи фонові процеси підключаються до зовнішнього світу.
Щоб визначити, які програми Mac, демони, процеси чи будь-що інше використовує Інтернет, ми звернемося до командного рядка Mac OS X і використаємо розширеніший варіант чудового lsof команда. І так, це працюватиме для будь-якої версії MacOS або Mac OS X і типу підключення до Інтернету через будь-яку службу, будь то Wi-Fi і бездротова мережа чи Ethernet, і це також працюватиме на машині Linux, оскільки lsof є стандартною мережею двійковий інструмент.
Ми розглянемо два способи зробити це, перший забезпечує легкий для читання результат і друкує назви програм і процесів, які підключаються до зовнішнього світу, а другий рядок надає надзвичайно детальну інформацію щодо який PID підключається до якого хоста та використовує який протокол. Ви можете використовувати один або обидва, залежно від ваших конкретних потреб.
Як показати імена програм і процесів за допомогою Інтернету в Mac OS X
Відкрийте програму «Термінал», якщо ви ще цього не зробили, і введіть таку команду:
lsof -nPi | cut -f 1 -d ">
Ви можете скопіювати/вставити цей рядок, якщо ви не знайомі з командним рядком, просто переконайтеся, що весь рядок виконується в одному рядку синтаксису.
Виконання цієї довгої команди дасть результат приблизно такого вигляду:
SystemUIS Dropbox iChatAgen Finder iTunes Google ssh
Це лише назви програм і процесів, які активно використовують Інтернет. Очевидно, що тут небагато даних, але якщо ви просто намагаєтеся відстежити програму, яка забирає пропускну здатність, її іноді достатньо для цієї мети.
Звичайно, є багато ситуацій, коли розширена інформація про те, який процес і/або програми використовують мережеве підключення, як і до якої віддаленої адреси, і це те, що ми розглянемо далі.
Як показати детальну інформацію для ідентифікатора процесу підключення до Інтернету з Mac OS X
Якщо вам потрібна більш детальна інформація, ніж те, що показано в наведеному вище командному рядку, ми можемо переглянути наведену вище команду, щоб отримати більше необроблених даних з lsof, видаливши канали до інших утиліт командного рядка, залишаючи нам неуточнені деталі безпосередньо з lsof. Ви також помітите, що я вирізав прапорець -n, оскільки цього разу хочу побачити імена хостів:
lsof -Pi
Це надасть набагато детальніші дані, включаючи назву програми, PID, протокол, IP-адресу, ім’я хоста та поточний статус з’єднання. Усі дуже корисні дані.
Якщо це перевантаження інформацією, спробуйте передати команду через «more», щоб легше було читати частинами, або використовуйте grep для сортування даних для певної програми чи процесу, наприклад:
$ lsof -Pi |grep iChatAgen iChatAgen 228 David 10u IPv4 0x0bfe44ec 0t0 UDP 127.0.0.1:5191->bos-d25v-r2d2.blue.aol.com:5191 iChatAgen 228 Девід 13u IPv4 0x1e148b1e 0t0 TCP 192.168.1.29:50051->206.198.4.49:5190 (ВСТАНОВЛЕНО)
lsof — потужна утиліта з безліччю застосувань. Я описав використання lsof для відстеження проблем пропускної здатності досить давно, але він використовував лише прапор -i, який значно спрощений. Ви можете використовувати будь-який із розглянутих варіантів, і кожен має власні випадки використання, які можуть бути корисними.
Інструменти командного рядка призначені для досвідчених користувачів, але ті, хто вперше користується Mac OS X або просто не люблять термінал, можуть використовувати такі програми, як Private Eye, щоб побачити, що використовує підключення до Інтернету Mac у подібним чином, хоча набагато зручнішим для користувача та повністю у традиційній програмі Mac.