python 读取修改pcap包的例子

yipeiwu_com6年前Python基础

思路

利用scapy库,在这个库的基础下能够做很多的事情,python读取pcap包网上一找一大把

将读取出来的pcap包改一个名字,然后写回,这不就OK了吗

写回的函数是:scapy.wrpcap(‘filename',list)

第一个参数是filename,第二个参数是一个list,保存报文的list

样例代码

#coding=utf8
import scapy.all as scapy
from scapy.layers import http
import random
#p就是一堆数据,上几层的各种数据


charset = 'QWER.;[]?|%123445TYUerty!@#$%^&*()-uiopadDFGHJKLZXCVBNMqwfghjklzcvbnm,6789=+'  #字符集在这里,可以随意更改

def string_change(str_data):       #通过字符集替换一个等长的攻击字符串
  str_response = ''
  for i in range(len(str_data)):
    index = random.randint(0,len(charset)-1) # 随机整个区间
    str_response+=charset[index]
  print str_response
  return str_response


# 提取出pacp文件中的所有包,改写path字段然后写入新的pcap,tcp流都会保存
list_a = []
if __name__ == '__main__':
  count = 0      #用来记载重复生成样本数据
  port = 0
  packeges = scapy.rdpcap('/home/seen/桌面/http.pcap')
  while(count!=1):
    #带有混淆的攻击流量
    for p in packeges:       #重新拷贝流的时候需要给端口修改啥的,这里还没做
      temp = p
      if temp.haslayer("HTTPRequest"):
        temp["HTTPRequest"].Path = string_change(temp["HTTPRequest"].Path)
        list_a.append(temp)
      else:
        list_a.append(temp)
    count = count + 1
  scapy.wrpcap('/home/seen/桌面/test_1to0.pcap',list_a)


以上这篇python 读取修改pcap包的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

TensorFlow模型保存和提取的方法

TensorFlow模型保存和提取的方法

一、TensorFlow模型保存和提取方法 1. TensorFlow通过tf.train.Saver类实现神经网络模型的保存和提取。tf.train.Saver对象saver的save...

画pytorch模型图,以及参数计算的方法

画pytorch模型图,以及参数计算的方法

刚入pytorch的坑,代码还没看太懂。之前用keras用习惯了,第一次使用pytorch还有些不适应,希望广大老司机多多指教。 首先说说,我们如何可视化模型。在keras中就一句话,k...

用Python将动态GIF图片倒放播放的方法

用Python将动态GIF图片倒放播放的方法

这次让我们一个用 Python 做一个小工具:将动态 GIF 图片倒序播放! GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原...

Python字符串、列表、元组、字典、集合的补充实例详解

Python字符串、列表、元组、字典、集合的补充实例详解

本文实例讲述了Python字符串、列表、元组、字典、集合。分享给大家供大家参考,具体如下: 附加: python的很多编译器提供了代码补全功能,并且在填入参数时提供提示功能 字符串...

Python类装饰器实现方法详解

本文实例讲述了Python类装饰器。分享给大家供大家参考,具体如下: 编写类装饰器 类装饰器类似于函数装饰器的概念,但它应用于类,它们可以用于管理类自身,或者用来拦截实例创建调用以管理实...