仅捕获主机名

时间:2016-06-12 23:45:30

标签: dns lookup hostname tcpdump

我只需要捕获我连接的网络的主机名。我不需要全部流量。 即G。我希望只有" www.google.com"," facebook.com"," plus.google.com"等等 并将它们保存在文件中。 我应该在Android 4.4.2中运行什么TCPDUMP命令? 注:我安装了tcpdump二进制文件  /系统/ bin中/ tcpdump的

1 个答案:

答案 0 :(得分:1)

最适合您的tcpdump命令可能是tcpdump -q ip or ip6

没有tcpdump命令,显示与数据包的IP源和目标地址对应的主机名 - 您将获得其他信息,例如数据包时间戳和至少尝试剖析数据包的内容,即使使用-q标志 - 所以你必须做一些后处理来提取域名,但tcpdump文本输出的格式是'n'太难解析 - 你可能会看到像

这样的数据包
18:12:01.344016 IP www.sonic.net > 192.168.42.66: ICMP echo reply, id 61009, seq 1, length 64

18:13:02.576498 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 0
18:13:02.611576 IP www.sonic.net.http > 192.168.42.66.60726: tcp 0
18:13:02.611653 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 0
18:13:06.235021 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 16

因此您需要删除时间戳和“IP”(或“IP6”),删除冒号及其后的所有内容,并且对于TCP或UDP数据包,从源中删除最后一个“.XXX”和目标地址(除非您想要源端口号和目标端口号/名称;这是TCP或UDP数据包的最后一个组件)。 “>”分隔源地址和目标地址。

这意味着你可能需要安装诸如sed之类的程序,或者用于脚本语言(如AWK,Perl或Python)的解释器来使用它来进行后处理。 / p>

如果您想要只为 提供源IP地址和目标IP地址的域名,您可能需要自己编写。