使用Python实现windows下的抓包与解析
Windows  /  管理员 发布于 4年前   688
系统环境:windows7,选择windows系统是因为我对自己平时日常机器上的流量比较感兴趣
python环境:python2.7 ,这里不选择python3的原因,是因为接下来要用到的scapy包在python3中安装较于python2要麻烦得多。如果你习惯于用python3,数据包的分析完全可以放在3下面做,因为抓包和分析是两个完全独立的过程。
需要的python包:scapy和dpkt
抓包代码:
from scapy.sendrecv import snifffrom scapy.utils import wrpcapdpkt = sniff(count = 100) #这里是针对单网卡的机子,多网卡的可以在参数中指定网卡wrpcap("demo.pcap", dpkt)
你没看错,仅仅只需要两行代码就可以实现一个简单的抓包功能。sniff函数负责嗅探数据包,而wrpcap函数将抓取到的数据包保存起来。
数据包的分析:
import dpktimport socketimport datetimedef printPcap(pcap):try:for timestamp, buf in pcap:eth = dpkt.ethernet.Ethernet(buf) #获得以太包,即数据链路层包print("ip layer:"+eth.data.__class__.__name__) #以太包的数据既是网络层包print("tcp layer:"+eth.data.data.__class__.__name__) #网络层包的数据既是传输层包print("http layer:" + eth.data.data.data.__class__.__name__) #传输层包的数据既是应用层包print('Timestamp: ',str(datetime.datetime.utcfromtimestamp(timestamp))) #打印出包的抓取时间if not isinstance(eth.data, dpkt.ip.IP):print('Non IP Packet type not supported %s' % eth.data.__class__.__name__)continueip = eth.datado_not_fragment =bool(ip.off & dpkt.ip.IP_DF)more_fragments =bool(ip.off & dpkt.ip.IP_MF)fragment_offset = ip.off & dpkt.ip.IP_OFFMASKprint('IP: %s -> %s (len=%d ttl=%d DF=%d MF=%d offset=%d)' % (socket.inet_ntoa(ip.src), socket.inet_ntoa(ip.dst), ip.len, ip.ttl, do_not_fragment, more_fragments,fragment_offset))except:passdef main():f =open('demo.pcap','rb')pcap = dpkt.pcap.Reader(f)printPcap(pcap)if __name__ =='__main__':main()
结果显示:
这是我打开360的路由器卫士时抓取的数据包。这个软件在打开时与路由器通信,获得连接路由器的电脑和手机的列表。192.168.1.100是我的机器,192.168.1.1是路由器地址,其中可以看到windows发送的数据包的ttl值默认是128,其他的系统默认是64,与我们的理论常识是相符的。
TCP/IP五层分层的结构和封包过程,附图二张:
总结
以上所述是小编给大家介绍的使用Python实现windows下的抓包与解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号