1. import struct
  2.  
  3. class FileConvert(object):
  4. ''' test python file'''
  5. def __init__(self):
  6. self.aa = 0
  7. self.bb = 0
  8.  
  9. def convertPcapToHex(self,debugFlg=0):
  10. infile = open("test.pcap",'rb')
  11. outfile = open("testRslt.txt",'w')
  12. a = int(0)
  13.  
  14. while True:
  15. a = int(0)
  16. a = infile.read(4)
  17. #print(type(a))
  18. #print(len(a))
  19. dataSaveNum = len(a)
  20. if not a:
  21. break
  22. if(len(a) == 4):
  23. pass
  24. elif(len(a) != 0):
  25. loopTime = 4 - len(a)
  26. while (loopTime > 0):
  27. loopTime = loopTime - 1
  28. a = a + b'\x00'
  29. z = struct.unpack('i',a)
  30. unNeg = z[0] & 0xFFFFFFFF #负数的验证
  31. if(dataSaveNum == 4):
  32. outfile.write("%08x"%unNeg)
  33. dataSaveNum = 0
  34.  
  35. while(dataSaveNum > 0):
  36. saveData = unNeg&0xFF
  37. #保留单个字节
  38. #outfile.write("%08x"%unNeg)
  39. unNeg = unNeg >> 8
  40. dataSaveNum = dataSaveNum - 1
  41. outfile.write("%02x"%saveData)
  42.  
  43. if(debugFlg == 1):
  44. outfile.write("\n")
  45.  
  46. infile.close()
  47. outfile.close()
  48.  
  49. def convertHexToPcap(self):
  50. infile = open("testRslt.txt",'r')
  51. outfile = open("another.pcap",'wb')
  52. #for a in infile.read():
  53. while True:
  54. a = infile.read(8)
  55. #print(type(a))
  56. #print(b);
  57. if not a:
  58. break
  59. if(len(a)!= 0):
  60. #16进制转换10进制数
  61. b=int(a,16)
  62. covertValue = struct.pack("L",b)
  63. outfile.write(covertValue)
  64. #outfile.write("%s"%a)
  65. #outfile.write("\n")
  66. infile.close()
  67. outfile.close()
  68.  
  69. if __name__ == '__main__':
  70. fileCvrt = FileConvert()
  71. fileCvrt.convertPcapToHex()
  72. fileCvrt.convertHexToPcap()

开源项目:https://github.com/rshk/python-pcapng

python读取pcap包的更多相关文章

  1. Python解析Pcap包类源码学习

    0x1.前言 ​ 在现场取证遇到分析流量包的情况会比较少,虽然流量类设备原理是把数据都抓出来进行解析,很大一定程度上已经把人可以做的事情交给了机器自动完成. ​ 可用于PCAP包分析的软件比如科来,W ...

  2. python 读取位于包中的数据文件

    假设你的包中的文件组织成如下: mypackage/ __init__.py somedata.dat spam.py 现在假设spam.py文件需要读取somedata.dat文件中的内容.你可以用 ...

  3. 【scapy】读取pcap

    scapy读取pcap包 假设有pcap包test.pcap,读取其中的分层流量信息 代码: import scapy_http.http try: import scapy.all as scapy ...

  4. python解析pcap文件中的http数据包

    使用scapy.scapy_http就可以方便的对pcap包中的http数据包进行解析 scapy_http可以在https://github.com/invernizzi/scapy-http下载, ...

  5. pcap文件生成metadata——使用tshark解析tcpdump的pcap包

    pcap文件生成metadata #!/usr/bin/env python # -*- coding: utf-8 -*- import os import time, datetime impor ...

  6. C++ 读取 pcap文件.

    http://blog.csdn.net/haolipengzhanshen/article/details/51854853 1.了解下pcap文件的结构 2.定义pcap文件头部结构体pcapFi ...

  7. 繁简转换OpenCC,autogb 和 autob5,iconv,python的jianfan包

    OpenCC OpenCC 是跨平台.多语言的开放中文转换库,除了基本的简繁转换功能外,用户还可以选择对不同用词习惯和异体字的处理方式. OpenCC 还提供方便的网页转换界面. OpenOffice ...

  8. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  9. python读取EXCLE文件数据

    python读取EXCEL,利用 Google 搜索 Python Excel,点击第一条结果http://www.python-excel.org/ ,能够跨平台处理 Excel. 按照文档一步步去 ...

随机推荐

  1. InputStream类的available()方法

    InputStream类的available()方法 这个方法可以在读写操作前先得知数据流里有多少个字节可以读取需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操 ...

  2. vue中操作Dom节点的方法

    1.vue中ref操作dom节点 <template> <div id="app"> <div </div> <button @cl ...

  3. php7新特性的理解和比较

    1. null合并运算符(??) ??语法: 如果变量存在且值不为NULL,它就会返回自身的值,否则返回它的第二个操作数. //php7以前 if判断 if(empty($_GET['param']) ...

  4. 腾讯云服务器centos通过yum安装mysql数据库

    安装mysql有两种: 1-可以使用yum安装, 2-可以自己下载安装包安装mysql, 腾讯云的centos系统自带了yum,所以用yum安装方便点 安装步骤 1-查看yum源中是否有mysql y ...

  5. 第九届ECNU Coder F.蚂蚁(栈)

    题目链接:http://acm.ecnu.edu.cn/contest/16/problem/F/ 题目: F. 蚂蚁 Time limit per test: 0.5 seconds Time li ...

  6. php面试专题---7、文件及目录处理考点

    php面试专题---7.文件及目录处理考点 一.总结 一句话总结: 用脑子:基本文件操作和目录操作了解一波,不必强求 1.不断在文件hello.txt头部写入一行“Hello World”字符串,要求 ...

  7. Oracle Data Guard Protection Modes

    Maximum Availability This protection mode provides the highest level of data protection that is poss ...

  8. Visual Studio Code-使用Chrome Debugging for VS Code调试JS

    准备工作 安装 Debugger for Chrome 插件 按 F5(或选择菜单栏的 Debug->Start Debuging),然后选择 Chrome,就会自动创建默认的配置文件 &quo ...

  9. php面向对象三大特性

    1.封装: 目的:使类更加安全 步骤:1.成员变量变成private(私有的)2.设置方法/调用方法3.在方法中增加限制 <?php class shao { private $aa;//必须是 ...

  10. http代理工具delphi源码

    http://www.caihongnet.com/content/xingyexinwen/2013/0721/730.html http代理工具delphi源码 以下代码在 DELPHI7+IND ...