提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
针对wires hark抓取的报文进行一个简单的修改源IP和目的IP的方法并且生成25K大小的pcap包;对pcap包进行修改flags并且简单的修改数据包的数目,做一个笔记。
提示:以下是本篇文章正文内容,下面案例可供参考
一、scapy是什么?
数据包处理程序,其他深入的可以自行百度,一大堆,肯定比我讲的好
先安装scapy库,pip install -i https://pypi.tuna.tsinghua.edu.cn scapy
多了不说,少了不唠,接下来就开干
二、使用步骤
1.引入库
代码如下(示例):
from scapy.all import *
packet = rdpcap("https_25K_443.pcap") #读取pcap文件
New_Packet = [] #创建一个新的对象
ii = 0
for pkt in packet:
if pkt['IP'].src == "10.0.0.3":
pkt['IP'].src = "70.0.0.1"
pkt['IP'].dst = "163.1.1.1"
pkt['Ether'].src = "20:47:47:95:93:90"
pkt['Ether'].dst = "d0:c5:d3:ed:62:15"
else:
pkt['IP'].dst = "70.0.0.1"
pkt['IP'].src = "163.1.1.1"
pkt['Ether'].src = "d0:c5:d3:ed:62:15"
pkt['Ether'].dst = "20:47:47:95:93:90"
if ii == 28: #针对第28条数据流进行flags的替换,0x18十六进制转换成十进制是24
pkt['TCP'].flags = 0x18
pkt['IP'].chksum = None #检验和会自动进行校验
pkt['TCP'].chksum = None
#print("new chksum:" + str(ch1))
if ii<=32: #只保留32条流
New_Packet.append(pkt)
ii += 1
wrpcap("https_25K_443_4.pcap", New_Packet) #生成新的pcap
2.修改截图
对应代码中:
if ii == 28: #针对第28条数据流进行flags的替换,0x18十六进制转换成十进制是24
pkt['TCP'].flags = 0x18
总结
提示:这里对文章进行总结:
还是要多总结,不然容易忘。