【问题标题】:tshark capture only dns or http traffic with specific ip adress and write to filetshark 仅捕获具有特定 IP 地址的 dns 或 http 流量并写入文件
【发布时间】:2021-01-04 19:54:54
【问题描述】:

您好,我想从特定 IP 地址 dns 或 http 或 http2 流量中捕获并将其保存到文件中。 我试过这个:

tshark -i xxx -w capture-output.pcap -T fields -e ip.src -Y "ip.src == 192.168.178.xxx and (dns or http or http2)"

我收到此错误: tshark: 捕获和保存捕获的数据包时不支持显示过滤器。

有人可以帮帮我吗?

【问题讨论】:

    标签: networking wireshark tshark


    【解决方案1】:

    该错误会为您提供所需的尽可能多的信息 - 保存数据包捕获时不能使用显示过滤器。您有两种选择:

    选项 1:保存捕获并在之后使用显示过滤器

    这看起来像

    # Write the initial file with incoming packets
    $ tshark -i xxx -w capture-output.pcap
    # Filter out the traffic we don't want
    $ tshark -r capture-output.pcap -w filtered-output.pcap \
        -T fields -e ip.src -Y "ip.src == 192.168.178.xxx and (dns or http or http2)"
    

    选项 2:使用捕获过滤器

    请改用capture filter。捕获过滤器使用不同于显示过滤器的special syntax

    您想要使用给您的显示过滤器的等效捕获过滤器是

    $ tshark -w filtered.pcap -f "src net 192.168.178.0/24 and (udp port 53 or tcp port 80 or tcp port 443)"

    【讨论】:

    • thx 对我帮助很大,但我不知道如何过滤 dns 或 http 或 http2 流量。 tshark 的记录似乎很差,或者我找不到捕获过滤器的正确来源。我看了这里:wiki.wireshark.org/CaptureFilters
    • 所以 dns 是 udp 端口​​ 53,http 是 tcp 端口 80,http 是 tcp 端口 443。您可以通过它们的第 4 层端口过滤捕获过滤器中的协议。
    猜你喜欢
    • 2020-07-29
    • 1970-01-01
    • 2011-05-25
    • 2018-06-04
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2014-12-10
    相关资源
    最近更新 更多