Самым чистым решением, вероятно, является cdespinosa.
Альтернативы могут быть
1 / Завершение вызова netstat внутри NSTask
diciu$ netstat -bi en0
Name Mtu Network Address Ipkts Ierrs Ibytes Opkts Oerrs Obytes Coll
en0 1500 <Link#4> xx:xx:xx:xx:xx 86259 0 86175096 64485 0 10090152 0
2 / Чтение sysctl vars дает вам некоторую сетевую статистику, но, похоже, она не привязана к конкретному интерфейсу:
diciu$ sysctl -b net.inet.ip.stats > /tmp/tt
diciu$ hexdump /tmp/tt
0000000 d2 4a 01 00 00 00 00 00 00 00 00 00 00 00 00 00
0000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
В дампе "d2 4a 01 00" указано общее количество ip-пакетов (то есть 0x14ad2 = 84690 пакетов).
Структура, которую вы получите, определена в netinet / ip_var.h:
struct ipstat {
u_int32_t ips_total; /* total packets received */
[..]