Аналог «любого» псевдоустройства в macos - PullRequest
2 голосов
/ 10 апреля 2020

Есть ли возможность захвата пакетов tcpdump со всех устройств в MacOS? В Linux я бы использовал 'sudo tcpdump -i any'. В моем MacOS, когда я выполняю sudo tcpdump -D, я не вижу «никакого» псевдо-устройства.

1 Ответ

3 голосов
/ 10 апреля 2020

Для @ChristopherMaynard:
Документы tcpdump указывают any как работающие на linux: On Linux systems with 2.2 or later kernels, an interface argument of ``any'' can be used to capture packets from all interfaces. Однако на самом деле это не спецификация ОС c.


tcpdump принимает интерфейс any на macos в моем тестировании, поэтому в ответ на ваш вопрос, аналог any на linux равен any на macos:

bash-5.0 $ sudo tcpdump -i any
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
09:43:57.789302 IP6 dsldevice7.attlocal.net.domain > 2600:1700:a700:7340:6dad:2758:c536:f29f.56483: 4283 1/0/0 SOA (85)
09:43:57.789324 IP6 2600:1700:a700:7341:6dad:2759:c536:f29f > dsldevice7.attlocal.net: ICMP6, destination unreachable, unreachable port, 2600:1700:a700:7340:6ded:2759:c536:f29f udp port 56423, length 141
...

У tcpdump должны быть одинаковые параметры ( manpage ) на обоих макросах и linux, кроме тех, которые подробно описаны ниже. Если у вас есть более старая версия tcpdump (моя версия 4.9.3 / Apple, версия 83.200.3), вы можете обновить ее до brew install tcpdump.

Macos / Linux Tcpdump Differences

Вы все равно должны смотреть на страницы руководства, если сомневаетесь, но это сводная информация о различиях:

Linux

  • -Q direction: выберите направление отправки / получения (в / out / inout)

Macos

  • -k: управление отображением метаданных пакета
  • -Q: указание выражения фильтра на основе метаданных пакета
  • -P: Сохранить в pcapng

Примечание : В отличие от Linux или * BSD, Macos не поддерживает направление -Q .

...