Як я можу відстежувати, що використовує моє підключення до Інтернету на Mac OS X?


19

У мене порівняно обмежений широкосмуговий зв’язок (я проживаю милі від найближчого обміну) і час від часу доступ до мережі (але нічого іншого) сповільнюється до майже повзання.

Я знаю з небагато програмного забезпечення для моніторингу, що з'єднання досить широко використовується, що пояснить це, але я не знаю, для чого це використовується. Звичайно, може бути багато речей (ці дні є десятки програм, які регулярно чи нечасто перевірятимуть дані чи завантажувати оновлення), але як я можу це дізнатися?

Я радий платити (невелику суму) грошей, якщо потрібно, хоча в такому випадку я б скоріше рекомендував, щоб я просто гуляв за щось.

Відповіді:


17

Little Snitch дозволяє вибірково надавати доступ до Інтернету програмам, тож ви можете вирішити, з якими номерами портів та іменами хостів програма може спілкуватися.

Це дуже зручний персональний брандмауер, і одне з перших, що я встановив би на новому Mac. Запобігання програмам телефонувати додому або робити що-небудь в Інтернеті може бути вирішальним для конфіденційності.


1
Little Snitch - це безцінна робота з тим, що відбувається / виходить з вашого комп’ютера на рівні програми.
Chealion

1
Little Snitch також дозволяє відображати панель моніторингу, яка відображає рух вгору / вниз для кожного додатка, що отримує доступ до вашого мережевого з'єднання. Це виглядає наступним чином : obdev.at/Images/littlesnitch/network-monitor-zoomed.jpg
chrish


7

Ви можете дістати частину шляху туди за допомогою наступної команди, запущеної всередині терміналу:

sudo lsof |grep TCP | grep ESTAB

Тут буде перераховано всі відкриті TCP-з'єднання. У першому стовпці буде перелічено програми, які встановлюють з'єднання, тож ви зможете зрозуміти, хто є ймовірним винуватцем. Приклад пари рядків виводу може виглядати так:

ssh       10099            tim   21u     IPv4 0x1164766c        0t0       TCP 10.0.52.158:61830->home:ssh (ESTABLISHED)
Mail      13216            tim   23u     IPv4 0x11660270        0t0       TCP 10.0.52.158:57696->##.##.##.##:imaps (ESTABLISHED)

Тож я бачу, що і Mail, і ssh використовують з'єднання. Якщо рішення не очевидно з цього, ви можете використовувати dtrace, щоб отримати детальнішу інформацію. Зокрема, ознайомтеся з інструментами DTrace , деякі з яких уже встановлені на вашому Mac під / usr / bin:

bitesize.d cpuwalk.d creatbyproc.d dappprof dapptrace diskhits dispqlen.d dtruss errinfo execsnoop fddist filebyproc.d hotspot.d httpdstat.d iodbctest iodbctestw iofile.d iofileb.d iopattern iopending iosnoop iotop kill.d lastwords loads.d newproc.d opensnoop otool pathopens.d pidpersec.d plockstat priclass.d pridist.d procsystime runocc.d rwbypid.d rwbytype.d rwsnoop sampleproc seeksize.d setuids.d sigdist.d syscallbypid.d syscallbyproc.d syscallbysysc.d topsyscall topsysproc weblatency.d

Я думаю, що той, кого ви хочете для вашої ситуації, це, мабуть, або tcpsnoop або tcptop , які, здається, не доступні на Mac за замовчуванням, що змушує мене замислитися, чи були якісь проблеми з переносом.


Тут потрібне судо?
Річард Хоскінс

Це збирати з’єднання від інших користувачів, які можуть здійснювати мережеві з'єднання. Навіть якщо ви єдиний користувач, можливо, деякі системні облікові записи можуть здійснювати мережеві з'єднання.
Тім

7

Використання iftop

Крок 0: встановіть iftop через MacPorts або Homebrew (це також автоматично встановить будь-які залежності)

sudo port install iftop
brew install iftop

Крок 1: перегляньте список мережевих "інтерфейсів" у вашій системі (за замовчуванням iftop використовує en0, який на широкосмуговій крикеті дає порожній екран)

ifconfig -l    # shows: lo0 gif0 stf0 en0 en1 wlt1 fw3 vnic0 vnic1 vboxnet0 ppp0

Крок 2: запустіть iftop з різними мережевими "інтерфейсами", поки iftop не працює (ppp0 у моїй системі)

sudo iftop -i ppp0    # have to use sudo to avoid "pcap_open_live(ppp0): (no devices found) /dev/bpf0: Permission denied"

Крок 3: вийдіть з iftop, натиснувши "q"


1
Де можна потрапити iftopна OS X? sudo: iftop: command not found
Даніель Бек

Запустіть "sudo port install iftop" (якщо у вас встановлені макпорти). Це встановить iftop та його залежності.
russian_spy

1
Спасибі. Він також доступний на Homebrew. Ця інформація була б корисною як частина допису ;-)
Даніель Бек

Приємно, мені довелося використовувати інший інтерфейс (en1), спочатку я отримав порожній екран. Також +1 замість домашнього пива замість макпорта.
noio

3

Nettop - це вбудований інструмент командного рядка. Ви можете запустити його в Терміналі, ввівши текст nettop. Перегляд за замовчуванням трохи занадто багатослівний, тому я завжди натискаю cі dклавіші, щоб побачити одну програму на рядок ( c) і побачити поточне використання пропускної здатності замість загального мережевого трафіку ( d). Можливо, вам потрібно буде максимально збільшити вікно терміналу, щоб побачити всі стовпці.

Більше інформації та скріншоти тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.