使用python监视我的下载使用情况
我想用python编写一个程序,监控我的浏览和下载数据,并显示我一天(或给定时间间隔)下载了多少数据 我不想要我下载的东西,我只需要知道我下载和/或浏览了多少数据(数据量) 为此,我应该访问端口还是其他什么?使用python监视我的下载使用情况,python,download,port,Python,Download,Port,我想用python编写一个程序,监控我的浏览和下载数据,并显示我一天(或给定时间间隔)下载了多少数据 我不想要我下载的东西,我只需要知道我下载和/或浏览了多少数据(数据量) 为此,我应该访问端口还是其他什么? 我应该如何进行 编辑:我正在使用Ubuntu 11.10。我对如何监控我的下载有了基本的了解。我基本上是把数据包的数据加起来 #!/usr/bin/python2.7 import pcap, dpkt, socket pc = pcap.pcap() p
我应该如何进行
编辑:我正在使用Ubuntu 11.10。我对如何监控我的下载有了基本的了解。我基本上是把数据包的数据加起来
#!/usr/bin/python2.7
import pcap, dpkt, socket
pc = pcap.pcap()
ports = (80, 8080, 888, 443)
def process():
mem = 0
sport = 0
dport = 0
try:
for ts, pkt in pc:
eth = dpkt.ethernet.Ethernet(pkt)
ip = eth.data
if ip.__class__ == dpkt.ip.IP:
ip1, ip2 = map(socket.inet_ntoa, [ip.src, ip.dst])
if ip.p == 6:
I7 = ip.data
sport, dport = [I7.sport, I7.dport]
if sport in ports or dport in ports:
if len(data) > 0:
print 'From %s to %s, length: %d' %(ip1, ip2, len(I7.data))
mem = mem + len(I7.data)
except KeyboardInterrupt:
return mem
def main():
mem = process()
print float(mem/(1024*1024)), 'mb'
return
if __name__ == '__main__':
main()
这将打印源ip、目的ip和包的长度,直到提供KeyBaorInterrupt 你所说的“保持我浏览和下载数据的标签”是什么意思?也许描述一个具体的用例会有所帮助。我只需要下载的数据量。这取决于平台,你应该添加一个平台描述