python分析pcap文件_使用Python scapy分析pcap文件的一些记录

2019-02-28 遇到的一点小问题

安装方法网上很多,懒得贴了。就是电脑上Python环境太多,一开始安装插件的环境不是现在当前使用的这个,后面到Python Interpreter确认了一下,重新安装了一下。

然后就是在win10系统上使用时遇到问题:ImportError: cannot import name 'NPCAP_PATH' from 'scapy.arch.pcapdnet' (C:\ProgramData\Anaconda3\lib\site-packages\scapy\arch\pcapdnet.py)。网上搜了下,已经有人提出,官方也解决了。不过现在还没办法直接pip install scapy或者Python Interpreter里安装最新版本,所以需要下载源码替换目录C:\ProgramData\Anaconda3\Lib\site-packages\scapy里面的全部文件或者pip时先git文件下来。

试着打印数据,可以了。

packets = rdpcap("/Users/wannoo/Downloads/test.pcap")#mac路径

for data in packets:

print(data.payload.name)#打印出'IP','IPV6','ARP'或者其他

#这个方法点进去看里面是这样的。

with PcapReader(filename) as fdesc:

return fdesc.read_all(count=count)

#所以我们也可以这样:

with PcapReader('test.pcap') as packets: # 文件在同一个目录

for data in packets:

if 'TCP' not in data:

continue

print(data.time, "wannoo", data['TCP'].options[2][1][0])#打印出Timestamp信息

测试打印前23条看看内容。

packets = rdpcap("F:/wannoo/test.pcap", 23)#windows这样不用考虑转义字符

#或者是这种打开方式:

with PcapReader('F:\\wannoo\\test.pcap') as packets: #Windows这样需要考虑转义字符

for data in packets.read_all(23):

type(data) 类型:

repr(data) 内容:>>

然后还能获取其他需要的参数,比如使用data['TCP'].flags.value判断24为PA(PSH、ACK),16为A(ACK);或者在data.payload.name=='IP'时通过data.payload.proto数值判断17=='UDP',其他TCP还能根据端口等信息判断出SSH或SMB2或其他。

2019-03-07 遇到的一点小问题

在处理抓包数据时,发现某次data['TCP'].seq得到的seq数值比上一条小,但是Wireshark上展示的处理后数据并没有这种情况,一番查找后才发现原来scapy处理后的该类型存储为int,然后出现了大于2的32次方的情况,就重新从0开始展示了。所以在处理展示seq和ack数据时,减去第一条的值,如果<0还要在+=2**32。

Debug

Java用久了,声明变量都会声明类型,遇到不熟悉的都习惯直接Ctrl进类里面查找方法,但Python不需要声明类型,有时候得到的数据也不知道什么类型,当然了知道了也看不懂里面都有什么方法可以使用。。。所有Python开发时遇到陌生类建议使用Debug来查看。不然每次遇到新的类,都要使用print(type(变量名))查看类型,print(help(变量名))或print(help(scapy.fields.FlagValue))查看方法,效率太低了。

76fb8f7b916f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Debug

Vim Emulator

安装PyCharm时,勾选了ideaVim选项,所以一打开PyCharm时没法像往常那样进行复制黏贴删除等编辑操作。解决办法就是取消勾选Tools - Vim Emulator,或者直接在Settings - Plugins,ideaVim插件,右键选择卸载。

76fb8f7b916f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Tools - Vim Emulator

76fb8f7b916f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Settings - Plugins

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值