python读取pcap获得端口_Python处理网络数据包示例(pcapy读pcap文件)
Python处理网络数据包示例(pcapy读pcap文件)
最近在围观python,找了个pcapy处理pcap数据的代码
非常非常久以前的东西了,应该是在项目组做的半成品吧。今天重装机器,不经意翻出来了。这个脚本是读入一个libpcap保存的文件,按照要求过滤数据,最后将过滤后的数据保存到一个新文件中。运行环境应该是2.5吧。
原文在http://muyublog.appspot.com/2010/08/31/python-pcapy.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/python
# Copyright (c) 2007
#
# Pcap dump file filter.
#
# This tools filter some packets in pcap capture files
# here is the packet send by our robot
#
# Authors:HonetNet Project
#
import sys
import string
from exceptions import Exception
import pcapy
from pcapy import *
def Drop(data):
"""Check if this packet should be drop
"""
#return True
return False
def filefilter(filename):
"""filter a single file
"""
# Open file
try:
processor = open_offline(filename)
except pcapy.PcapError, e:
print "Can't open file: "+filename
print "\t",e
return 1
#check if it's the Ether packet
if pcapy.DLT_EN10MB != processor.datalink():
print "Not a Ethernet packet..."
return 2
#Open the file store the data after filter
if sys.platform == 'win32':
pos = filename.rfind('\\')
elif sys.platform == 'linux2':
pos = filename.rfind('/')
else:
print "Running on a unexpect OS"
sys.exit(1)
if pos == -1:
newfile = "filtered-"+filename
else:
newfile = filename[:pos+1] + 'filtered-' + filename[pos+1:]
print newfile
try:
global dumper
dumper = processor.dump_open(newfile)
except pcapy.PcapError, e:
print "Can't write packet to:", newfile
print "\t",e
return 3 www.2cto.com
processor.loop(0, packetHandler)
def packetHandler(hdr, data):
"""process with single packet
"""
if not Drop(data):
global dumper
dumper.dump(hdr, data)
# Process command-line arguments.
if __name__ == '__main__':
if len(sys.argv) <= 1:
print "Usage: %s " % sys.argv[0]
sys.exit(1)
filefilter(sys.argv[1])
相关内容
暂无相关文章
python读取pcap获得端口_Python处理网络数据包示例(pcapy读pcap文件)相关推荐
- Linux使用tcpdump抓取网络数据包示例
tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...
- python读取时间序列csv可视化_Python获取时序数据并进行可视化分析
本帖最后由 林宝宝 于 2019-7-31 17:29 编辑 问题导读: 1.获取第三方平台的接口数据的方法是什么? 2.怎么做数据清洗与合并?主要有数据类型转换.重新排序.索引重置.数据合并 3.时 ...
- python应用系列教程——python使用scapy监听网络数据包、按TCP/IP协议进行解析
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
- python读取只读word只读_Python用于NLP :处理文本和PDF文件
提示:代码图片可以点击全屏查看,双指操作还可以放大缩小. 这是我的Python用于自然语言处理(NLP)系列文章的第一篇文章.在本文中,我们将从Python for NLP的基础知识开始.我们将看到如 ...
- python读取word指定内容_python读取word 中指定位置的表格及表格数据
1.Word文档如下: 2.代码 # -*- coding: UTF-8 -*- from docx import Document def readSpecTable(filename, specT ...
- pcap文件解析工具_【免费毕设】PHP网络数据包分析工具的设计与开发(源代码+论文)...
点击上方"蓝字"关注我们目录 系统设计 网络数据包分析系统的设计 整个网络数据报分析工具采用模块化的设计思想,原因是许多程序太长或太复杂,很难写在单一单元中.如果把代码分为较小的功 ...
- 流量Ⅰ--一文了解pcap网络数据包的结构?
一文了解pcap网络数据包如何分析 0x00 基础知识 1.OSI七层模型每层的作用 2.TCP/IP 结构及具有五层协议的结构体系 0x01 数据是如何在各层次间传输的 1.数据帧的封装 2.数据格 ...
- python小数乘法_Polymorph:支持几乎所有现有协议的实时网络数据包操作框架
Polymorph是一个用Python3编写的框架,其允许实时修改网络数据包,为用户提供对数据包内容的最大化控制.该框架旨在实现任何现有协议(包括没有公共规范的私有协议)的网络数据包的实时修改.除此之 ...
- 将任意文件转换为Pcap网络数据包传输
本文将介绍一款能够直接将文件构造成为pcap数据包的工具,作为我的专栏<Pcap网络数据包处理方法大全>中的一篇. 在一些测试场景,尤其是安全测试的场景,对于一个文件在传输过程中生成的数据 ...
最新文章
- JAVscript对象
- 数据文件实验#OCP#
- [面向对象] ABAP中程序类如何转化成全局类
- 年轻代为什么要设置两个Survivor区
- java timestamp是什么类型_JAVA比较2个Timestamp类型的时间大小-由此引发的思考
- 初学ACM之路(训练大纲)
- shopex安装Zend Optimizer - 3.3.0后依然乱码
- 教你用Python制作一款自己的杀毒程序
- java samphore 连接池_ADOConnection数据库连接池
- Javascript实现的倒计时时钟
- lwip-1.4.1文档rawapi中文翻译
- ubuntu在 hdfs上创建一个文件夹_NAS上如何创建和使用加密文件夹?
- 牛客网模拟笔试——黑化的牛牛(JavaScript)
- ADT(Android) — Eclipse开发连接夜神模拟器方法(亲测有效!)
- FlashFXP连接虚拟机ubuntu 16.04
- 基于无线网络的环境监测系统
- godot引擎学习4
- HTML 几种特别分割线特效
- 免费拿和平精英模拟器
- nemo 替换ubuntu 自带的文件管理器