首页 > 编程 > Python > 正文

python 读取修改pcap包的例子

2019-11-25 12:15:35
字体:
来源:转载
供稿:网友

思路

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

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

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

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

样例代码

#coding=utf8import scapy.all as scapyfrom scapy.layers import httpimport 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包的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表