python scapy 抓包_python 抓包保存为pcap文件并解析的实例
首先是抓包,使用scapy模块,
sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件
若参数为BPF过滤规则和回调函数,则进行Sniff,回调函数用于对Sniff到的数据包进行处理
import os
from scapy.all import *
pkts=[]
count=0
pcapnum=0
filename=''
def test_dump_file(dump_file):
print "Testing the dump file..."
if os.path.exists(dump_file):
print "dump fie %s found." %dump_file
pkts=sniff(offline=dump_file)
count = 0
while (count<=2):
print "----Dumping pkt:%s----" %dump_file
print hexdump(pkts[count])
count +=1
else:
print "dump fie %s not found." %dump_file
def write_cap(x):
global pkts
global count
global pcapnum
global filename
pkts.append(x)
count +=1
if count ==3: #每3个TCP操作封为一个包(为了检测正确性,使用时尽量增多)
pcapnum +=1
pname="pcap%d.pcap"%pcapnum
wrpcap(pname,pkts)
filename ="./pcap%d.pcap"%pcapnum
test_dump_file(filename)
pkts=[]
count=0
if __name__=='__main__':
print "Start packet capturing and dumping ..."
sniff(filter="dst net 127.0.0.1 and tcp",prn=write_cap) #BPF过滤规则
下面是对pcap文件的解析,会自动查找下一个pcap文件,按照src.ip和dst.ip进行划分
# -*- coding: cp936 -*-
import re
import zlib
import os
from scapy.all import *
num=1
a=rdpcap("pcap1.pcap") #循环打开文件
while True:
try:
num+=1
file_name="pcap%d.pcap" % num
b=rdpcap(file_name)
a=a+b
except:
break
print "[*] Read pcap file ok"
print "[*] Begin to parse pcapfile..."
print a
try:
#print "[*] OPen new pcap_file %s" % pcap_file
sessions=a.sessions()
for session in sessions:
print "[*]New session %s" % session
data_payload=""
for packet in sessions[session]:
try:
data_payload +=str(packet[TCP].payload)
print "[**] Data:%s" % data_payload
except:
pass
except:
print "[*]no pcapfile..."
以上这篇python 抓包保存为pcap文件并解析的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持龙方网络。
python scapy 抓包_python 抓包保存为pcap文件并解析的实例相关推荐
- python下载邮件附件_Python - 从电子邮件附件下载excel文件然后解析它
编辑 - 更新 我创建了一个可怕的黑客,打开excel文件,然后使用相同的文件名将其保存下来,然后将excel文件打开到pandas中.这真的太可怕但我无法通过attachment.SaveFileA ...
- dpdk-pktgen进行发包,dpdk-testpmd和dpdk-pdump进行收包并保存为pcap文件
使用dpdk-pktgen进行发包,dpdk-testpmd和dpdk-pdump进行收包并保存为pcap文件 **发包虚拟机版本号:**Ubuntu 16.04,dpdk 19.11.11,pktg ...
- pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存
pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...
- python抓取数据包_python抓数据包
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 前言:数据科学越来越火了,网页是数据很大的一个来源. 最近很多人问怎么抓网页数据 ...
- python自带哪些包_python各个包的用途
python中的多个包的用途 1.Numpy Numpy提供了两种基本的对象:ndarray和ufunc.ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数. N维数组 ...
- python获取网页图片_python抓取网页中的图片示例
python抓取网页中的图片示例 代码如下: #coding:utf8 import re import urllib def getHTML(url): page = urllib.urlopen( ...
- python frame框架抓取_Python抓取框架Scrapy爬虫入门:页面提取
前言 Scrapy是一个非常好的抓取框架,它不仅提供了一些开箱可用的基础组建,还能够根据自己的需求,进行强大的自定义.本文主要给大家介绍了关于Python抓取框架Scrapy之页面提取的相关内容,分享 ...
- python 心电处理包_python 黏包现象及其解决方案
一.数据缓冲区 缓冲区(buffer),它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区,显然缓冲区是具有一定大小的 ...
- python类百度百科_Python抓取百度百科数据
抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分数据.本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介. 分析目标:分析要抓取的url的格式,限定抓取范围.分析要抓 ...
最新文章
- [转]搞ACM的你伤不起(转自Roba大神)
- linux启动tomcat很久或者很慢Tomcat启动时卡在“INFO: Deploying web application directory ......”的解决方法...
- 云栖大会抢先看,提前探秘云栖数字谷
- 记不住ASP.NET页面生命周期的苦恼
- 大侠学java之继承
- mysql数据库原理
- 【全网最全】100款七夕节情人节表白网页制作HTML+CSS+JS
- win10电脑打开计算机快捷键,运行快捷键,教您win10打开运行快捷键是什么
- 菜鸟AJAX 教程和JSON
- 微信小程序——视图层
- 用来快速检查hdf5,npy和npz文件的Python脚本
- 【H3C模拟器】VLAN单臂路由通信:用路由器实现和三层交换机实现
- LNBP11L_LNB电源和控制电压调节器——科时进商城
- You should consider either expiring and/or testing connection validity before use in your applicat
- 1、蛋白质二级结构预测方法
- 崩坏3桌面版怎么更换服务器,崩坏3【桌面版】安装常见问题解决办法
- 聊聊支付通道那些事儿——介绍和接入
- HTML 小练习(智联注册页)
- Transformers in Vision: A Survey论文翻译
- stata命令汇总_Stata常用命令应知应会(500条)
热门文章
- 智慧工厂智能化运营管理系统的详情分析
- 数据库(DataBase)
- Spark Streaming 2.2.1 处理Kafka数据源的实战准备
- iphone键盘的回收 键盘弹起遮挡UITextFiled等空间问题解决
- MySQL的数据备份和数据恢复
- 腾讯云tca架构师 分数要求不能算太高
- kali linux导致ip冲突,【kali linux】记一次kali linux无法获取IP地址的解决过程
- java long转object_Java 类型转换以及Object转成其他类型
- Java中基本数据类型的位数及存储最值
- 快速推广拼车小程序的方法,及盈利模式。