Мониторинг сетевого трафика в приложении macOS

#xcode #macos #cocoa #swift3 #xcode8

#xcode #macos #cocoa #swift3 #xcode8

Вопрос:

Я ищу способ программного мониторинга общего количества «байт / бит» с заданным интервалом. Информация будет опрашиваться каждые несколько секунд и отображаться на графике, чтобы дать представление об использовании полосы пропускания для одного интерфейса в «реальном времени».

Это то, что я хочу сделать в КОДЕ, используя Swift 3 / Xcode 8 — я не смог понять, с чего начать мониторинг сети и т.д. для Mac с использованием Xcode и Swift.

Идеи?

Комментарии:

1. Взгляните на NSURLProtocol . У него есть свои оговорки, и он изначально не предназначался для этого, но с его помощью можно добиться хороших результатов. Вы можете изучить настройку прокси-сервера для своего приложения программно, но это вызывает больше проблем, чем вам хотелось бы.

2. Спасибо Leo за подробности — это могло бы отслеживать только трафик URL? Я имею в виду, мне нужно иметь возможность видеть общее значение для всего, что делает компьютер, независимо от используемого приложения или протокола / порта.

3. О, вы хотите использовать трафик не только для своего приложения. Я думаю, что в этом случае создание прокси-приложения — лучшее решение. Используйте прозрачный тип прокси. Существует много открытых источников.

4. Еще раз спасибо — да, в принципе, если вы зашли в «activity monitor» на Mac и выбрали вкладку «Сеть», Внизу есть небольшой раздел, показывающий всю сетевую активность, Итоги и т. Д. Приложение, над которым я работаю, будет иметь нечто подобное.

5. Проверьте man ifmib .