python scapy 函数_【python|scapy】sprintf输出时raw_string转string
最近在有python的scapy模块分析TCP报文,一直有一个关于转义字符的问题困惑着我,查找的很多资料后仍然百思不得其解,请大神指教。
请看代码:
from scapy.all import *
def findTCPdata(pkt):
raw = pkt.sprintf("%Raw.load%")
print raw
print 'length of TCP data: '+ str(len(raw))
def main():
pkts = rdpcap('XXX.pcap')
for pkt in pkts:
findTCPdata(pkt)
if __name__ == '__main__':
main()
结果为:
打印出的字符串中‘\x11’、’\x04’等等应该相当于一个字符,但是解释器把它们当成了4个字符。所以四条报文中的tcp数据长度不是17而成了为53,52,46,52。
查阅scapy源码发现sprintf(“%Raw.load%”)函数实现提取tcp数据段,并将其转化为字符串,但是转化后的结果类似于raw_string,字符串中的‘\x’失效了,被当做了2个字符。
请问该怎么转化,使得转义字符‘\x’生效,使得类似‘\x11’、’\x04’等等的字符被看做一个字符而不是4个?
经过查阅资料,我发现要用个函数实现rawstring转string,即可。
raw = raw.replace('\'','')
string = raw.decode('string_escape')
输出的结果就正确了
python scapy 函数_【python|scapy】sprintf输出时raw_string转string相关推荐
- map函数的用法python,详解Python map函数及Python map()函数的用法
python map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list ...
- python scapy模块_关于scapy模块
scapy是一个可以让用户发送.侦听和解析并伪装网络报文的Python程序.这些功能可以用于制作侦测.扫描和攻击网络的工具. 换言之,Scapy 是一个强大的操纵报文的交互程序.它可以伪造或者解析多种 ...
- python len函数_知识清单Python必备的69个函数,你掌握了吗?
本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...
- python center函数_数据类型和数据结构(三):字符串(4) 字符串内置函数(1)
Photo by Ray Hennessy on Unsplash 4 字符串内置函数 除了使用+.*.in对字符串操作之外,我们还可以使用Python提供的多种字符串内置函数来对字符串进行操作处理. ...
- python partition函数_如何使用正确的姿势进行高效Python函数式编程?
演讲者:丁来强@Splunk PyConChina2015 北京站 9月12日与9月19日,PyConChina 2015上海站与北京站顺利落下帷幕."人生苦短,Python 当歌&quo ...
- python编写函数_浅谈Python 函数式编程
匿名函数lambda表达式 什么是匿名函数? 匿名函数,顾名思义就是没有名字的函数,在程序中不用使用 def 进行定义,可以直接使用 lambda 关键字编写简单的代码逻辑.lambda 本质上是一个 ...
- python pos函数_使用python+sklearn实现特征提取
sklearn.feature_extraction模块可用于以机器学习算法支持的格式从原始数据集(如文本和图像)中提取特征.**注意:**特征提取与特征选择有很大不同:前者是将任意数据(例如文本或图 ...
- python fact函数_第5天:Python 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,所以我经常说函数是程序员规模化使用的基础. 函数能提高应用的模块性,和代码的重复利用率.在程序设计中,常将一些常用的功能模块编写成函数 ...
- python计算执行时间的函数_[python] 统计函数运行时间
第一种: import time def time_me(fn): #fn 是要修饰/修改 的函数 def _wrapper(*args, **kwargs): #这个 _wrapper(*args, ...
最新文章
- Objective-C 什么是类
- poj1860(Bellman-Ford算法)
- Analysis Services基础知识——深入SQL Server 2008
- TA 们放肆摇晃的青春尾巴
- 【Linux 内核 内存管理】优化内存屏障 ③ ( 编译器屏障 | 禁止 / 开启内核抢占 与 方法保护临界区 | preempt_disable 禁止内核抢占源码 | 开启内核抢占源码 )
- MySQL简单查询性能分析
- linux mysql 安装innodb_在ubuntu Mysql 5.7 安装InnoDB Memcached 插件
- 联想开机启动项按哪个_联想电脑开机按f12后,怎么设置默认启动项
- android开机动画多长时间_Android开机动画原理分析
- 生命是一连串长期而持续的累积
- plc 滑台流程图_动力滑台液压系统及PLC控制设计
- HP 6L WIN7 WIN8 驱动
- python乌龟吃鱼_关于乌龟吃鱼游戏的问题
- 软约束、硬约束、Minimum Snap的轨迹优化方法
- 几乎所有食物的英文翻译
- 用什么工具可以免费下载720云VR全景图
- My 2007 Fash game: Elite Shooter
- 计算机专业一句话介绍自己,来聊聊,你会如何用一句话介绍自己的专业?
- β阶段第一周版本控制报告
- 什么是敏捷开发,敏捷开发落地指南之迭代排期
热门文章
- An Error Correction and DeNovo Assembly Approach for Nanopore Reads Using Short Reads
- 边缘计算Edage Computing
- mysql的安装胚子_Mysql安装
- mysql为什么直接8.0_为什么要迁移到MySQL8.0?
- webscraper多页爬取_数据收集:web scraper 多页(无规律url)抓取
- 图像分割--PixelNet: Representation of the pixels, by the pixels, and for the pixels
- C++ 协程介绍[译]
- php 脚本 fpm缓存,PHP生命周期及fpm(FastCGI进程管理器)的运作方式
- 2.c语言编译预处理,c语言第03章-编译预处理2.ppt
- python strip()函数