我只需要将主机名捕获到我所连接的网络。我不需要所有的交通。例如,我希望只获得"www.google.com“、"facebook.com”、"plus.google.com“等名称,并将它们保存在文件中。在Android4.4.2中应该运行什么TCPDUMP命令?注:我已将tcpdump二进制文件安装为/system/bin/tcpdump。
发布于 2016-06-13 01:17:07
为了您的目的,最好的tcpdump命令可能是tcpdump -q ip or ip6。
没有tcpdump命令只显示与数据包的IP源和目标地址相对应的主机名--您将获得其他信息,例如数据包时间戳,以及即使使用-q标志也至少尝试剖析数据包内容的最小尝试--因此您必须进行一些后处理才能提取域名,但tcpdump文本输出的格式并不难解析--您可能会看到类似的数据包。
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这样的脚本语言安装n个解释器来进行后处理。
如果您希望只提供源IP地址和目标IP地址的域名,则可能需要自己编写。
https://stackoverflow.com/questions/37780203
复制相似问题