Я пытаюсь использовать tshark с несколькими флагами, а также получить метку времени для каждой отфильтрованной трассы. Я использую это для фильтрации всех запросов DNS в моей системе.
Я не могу получить метки времени вместе с фильтрами. Например, если я попробую что-то вроде
tshark -t ad -n -T fields -e ip.src -e dns.qry.name -f 'dst port 53' -Y "dns.flags.response eq 0"
Я получаю вывод, как хочу
192.168.1.3 clientservices.googleapis.com
192.168.1.3 play.google.com
192.168.1.3 play.google.com
Я получаю метку времени с
tshark -t ad
1 2018-09-02 21:12:20.536204429 61.223.125.209 → 192.168.1.3 UDP 174 12929 → 51465 Len=132
2 2018-09-02 21:12:20.536355008 192.168.1.3 → 61.223.125.209 UDP 126 51465 → 12929 Len=84
3 2018-09-02 21:12:20.599264715 192.168.1.3 → 176.31.225.118 TCP 54 45942 → 80 [FIN, ACK] Seq=1 Ack=1 Win=30016 Len=0
Однако я не могу заставить обоих работать вместе. Хотя команда запускается, она просто выводит без метки времени.
tshark -t ad -T fields -e ip.src -e dns.qry.name -Y "dns.flags.response eq 0"
192.168.1.3 captive.apple.com
192.168.1.3 myip.opendns.com
192.168.1.3 ipv4.icanhazip.com
192.168.1.3 slack.com
Любые указатели, которые могут помочь в этом отношении. Я использую tshark версии 2.2.6 в Debian 9.