Я просто хочу использовать tcpdump с той же функциональностью -Qout, которая доступна в Ubuntu.
В macOS tcpdump и libpcap лишены функциональности для фильтрации с -Qout.
tcpdump -Qout -nnSX -c 10 -w packet.pcap port XXXX
tcpdump: cannot parse term at:
tcpdump: invalid expression "out"
У меня есть сборка tcpdump (./configure, make, make install) и PATH=/usr/local/sbin:$PATH
. Когда я проверяю с помощью
tcpdump --version
tcpdump version 4.9.3
libpcap version 1.8.1 -- Apple version 79.250.1
Теперь, если я пробую тот же дамп, я получаю другое сообщение:
tcpdump --direction=out -nnSX -c 10 -w packet.pcap port XXXX
tcpdump: en0: pcap_setdirection() failed: Setting direction to PCAP_D_OUT is not supported on BPF
Я также скачал исходный код для libpcap-1.9.0 и попытался собратьэто так же (./configure, make, make install).
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [libpcap.dylib] Error 1
Мне нужно каким-то образом собрать и связать libpcap-1.9.0 с tcpdump 4.9.3, поэтому, когда я использую tcpdump, он будет использовать libpcap 1.9.0.
EDIT: я установилlibpcap 1.9.1 с brew и экспортировал путь с
echo 'export PATH="/usr/local/opt/libpcap/bin:$PATH"' >> ~/.bash_profile
, но он все еще показывает мне, что он связан с системным значением по умолчанию 1.8.1
tcpdump --version
tcpdump version 4.9.3
libpcap version 1.8.1 -- Apple version 79.250.1