首先是抓包,使用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文件并解析的实例相关推荐

  1. python下载邮件附件_Python - 从电子邮件附件下载excel文件然后解析它

    编辑 - 更新 我创建了一个可怕的黑客,打开excel文件,然后使用相同的文件名将其保存下来,然后将excel文件打开到pandas中.这真的太可怕但我无法通过attachment.SaveFileA ...

  2. dpdk-pktgen进行发包,dpdk-testpmd和dpdk-pdump进行收包并保存为pcap文件

    使用dpdk-pktgen进行发包,dpdk-testpmd和dpdk-pdump进行收包并保存为pcap文件 **发包虚拟机版本号:**Ubuntu 16.04,dpdk 19.11.11,pktg ...

  3. pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存

    pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...

  4. python抓取数据包_python抓数据包

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 前言:数据科学越来越火了,网页是数据很大的一个来源. 最近很多人问怎么抓网页数据 ...

  5. python自带哪些包_python各个包的用途

    python中的多个包的用途 1.Numpy Numpy提供了两种基本的对象:ndarray和ufunc.ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数. N维数组 ...

  6. python获取网页图片_python抓取网页中的图片示例

    python抓取网页中的图片示例 代码如下: #coding:utf8 import re import urllib def getHTML(url): page = urllib.urlopen( ...

  7. python frame框架抓取_Python抓取框架Scrapy爬虫入门:页面提取

    前言 Scrapy是一个非常好的抓取框架,它不仅提供了一些开箱可用的基础组建,还能够根据自己的需求,进行强大的自定义.本文主要给大家介绍了关于Python抓取框架Scrapy之页面提取的相关内容,分享 ...

  8. python 心电处理包_python 黏包现象及其解决方案

    一.数据缓冲区 缓冲区(buffer),它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区,显然缓冲区是具有一定大小的 ...

  9. python类百度百科_Python抓取百度百科数据

    抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分数据.本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介. 分析目标:分析要抓取的url的格式,限定抓取范围.分析要抓 ...

最新文章

  1. [转]搞ACM的你伤不起(转自Roba大神)
  2. linux启动tomcat很久或者很慢Tomcat启动时卡在“INFO: Deploying web application directory ......”的解决方法...
  3. 云栖大会抢先看,提前探秘云栖数字谷
  4. 记不住ASP.NET页面生命周期的苦恼
  5. 大侠学java之继承
  6. mysql数据库原理
  7. 【全网最全】100款七夕节情人节表白网页制作HTML+CSS+JS
  8. win10电脑打开计算机快捷键,运行快捷键,教您win10打开运行快捷键是什么
  9. 菜鸟AJAX 教程和JSON
  10. 微信小程序——视图层
  11. 用来快速检查hdf5,npy和npz文件的Python脚本
  12. 【H3C模拟器】VLAN单臂路由通信:用路由器实现和三层交换机实现
  13. LNBP11L_LNB电源和控制电压调节器——科时进商城
  14. You should consider either expiring and/or testing connection validity before use in your applicat
  15. 1、蛋白质二级结构预测方法
  16. 崩坏3桌面版怎么更换服务器,崩坏3【桌面版】安装常见问题解决办法
  17. 聊聊支付通道那些事儿——介绍和接入
  18. HTML 小练习(智联注册页)
  19. Transformers in Vision: A Survey论文翻译
  20. stata命令汇总_Stata常用命令应知应会(500条)

热门文章

  1. 智慧工厂智能化运营管理系统的详情分析
  2. 数据库(DataBase)
  3. Spark Streaming 2.2.1 处理Kafka数据源的实战准备
  4. iphone键盘的回收 键盘弹起遮挡UITextFiled等空间问题解决
  5. MySQL的数据备份和数据恢复
  6. 腾讯云tca架构师 分数要求不能算太高
  7. kali linux导致ip冲突,【kali linux】记一次kali linux无法获取IP地址的解决过程
  8. java long转object_Java 类型转换以及Object转成其他类型
  9. Java中基本数据类型的位数及存储最值
  10. 快速推广拼车小程序的方法,及盈利模式。