port23 和 hos210.27.48.1 分别代表什么?
手机看 youtube 的时候手机 ip 应该是固定的,但是 youtube 的 ip 应该是不固定的吧,还有只要监听 hostname,抓住的流量就都是 youtube 产生的么
dpkt 库也不能一下就能得到 appname,而且网上关于 dpkt 库的详解使用方面的实在太少了,大部分都得自己看源码来慢慢实现。我还在研究源码......
我就是用的 tcpdump+Wireshark......现在感觉 Wireshark 处理 pcap 包并不能详细的得到我想要的各个 appname 以及所要的流量,所以打算用 Python 的 dpkt 库来解析 pcap 包,根据 SYN 得到 appname
所以还是分析 TCPdump 所获得的 pcap 包更加方便么?我现在正准备放弃 Wireshark 用 Python 的 dpkt 库来解析 pcap 包了,感觉 Wireshark 并不能得到这么详细的信息
如果我直接根据 tcp 流来看的话:我是不是可以从 1 开始不断看每个 TCP 流下的右下角是不是能出现 appname,然后分别加起来,但这样也太花时间了
但是当使用上述筛选器的时候又发现一个问题,就是用筛选器再次打开会话或者端点统计时,发现 TCP 栏下的数据包以及数据流量大小非常的少:
难道不能用这样的方式得到流量结果么?
是不是 youtube 在观看视频的时候,使用的 TLSv1.2 这样的安全传输协议?
另外我发现可以用这样的筛选器来得到一些有用的信息:
添加筛选器:tcp.flags.syn==1 然后如下图
红色方框里面内容:很显然的可以发现是 appname,是不是就可以根据这一点来得到不同 appname 的流量
更发现,如果表格里的协议是 TCP,则红色方框内不显示 appname,如果是 TLSv1.2 协议,则红色方框内显示 appname,这到底是为什么?到底哪个才是正在消耗的流量呢?为什么 TCP 协议反而不产生流量
但是那些好像不是特别准确,我知道有
$ cat /proc/uid_stat/uid/tcp_rcv
$ cat /proc/uid_stat/uid/tcp_snd
这样的命令可以看某个已经 uid 应用的流量,但是我不知道后台都有哪些应用在消耗流量。如果只是统计 youtube 和整个系统的流量的话,我可以用 wireshark 得到整个系统的流量和用上面的 2 个命令得到 youtube 的流量消耗,但是不知道的其他应用就没法统计了
另外如果看 TCP 流的话,如下
从发送方能看出里面包含字段 com.google.andriod.youtube..............但是这只是其中一个 TCP 流并且根本无法将全部的 TCP 流统计起来,将含有 com.google.andriod.youtube 字段的选出来算出流量.认为这是只用 youtube 的消耗流量。
所以现在有点苦恼,到底应该怎么做才能达到本来的目的呢......