用python的Scapy库构造报文

本文介绍了如何使用Python的Scapy库来构造网络报文,包括以太网帧、IP地址、协议等各个层次。通过导入scapy库、创建不同层次的报文、显示和保存报文信息,以及利用Wireshark和命令行工具进行分析。内容涵盖了二进制、地址和协议的相关知识,如MAC、CRC、IP、UDP、TCP、VLAN、GRE等。
摘要由CSDN通过智能技术生成

产品:网卡 NIC

位置:网关

作用:网络芯片解析报文给CPU减负

过程:对数据层处理【网线接口到主机:对报文解析(合法度检查:长度、字节是否改变)、策略【规则】:过滤(黑名单(不允许)、白名单(允许))、转发(一个入口四个出口,那么方向是哪个;依据功能分口,报文具体去哪个口;)|五元组:IP PORT Etip ;优先级(压满就丢弃,比如管理报文很重要不能丢弃);VLAN(标签):添加、剥离会对包体本身进行操作】

构造报文:

1 直接构造

2 用scapy库构造【以下】

第一章 使用python的scapy库构造报文的基本格式

例子:使用Python的Scapy库构造以太网帧(Ether)

1 调用scapy.all库

-导入scapy库中所有功能,使得可以使用scapy中各种工具和类

from scapy.all import*

或者

-从Scapy库中导入了Ether类和wrpcap函数。Ether类用于创建以太网帧,而wrpcap函数用于将数据包写入PCAP文件

2 构造报文【不同层次报文有不同格式】

p 是一个变量,用于存储创建的以太网帧对象

Ether 是Scapy中用于创建以太网帧的类

-不同设备处理的网络层次不同

-解析是层层递进的

3 显示报文信息

-这行代码会在控制台输出p的详细信息,包括以太网帧的头部和尾部(如果存在)。

p.show() #显示报文信息

控制台信息:

4 保存到PCAP文件

wrpcap("p.pcap",p)

-这段代码将p这个以太网帧对象保存到名为p.pcap的文件中。

-wrpcap函数的第一个参数是文件名,第二个参数是要保存的数据包列表。这里我们只保存了一个数据包,所以列表中只有一个元素。

执行这段代码后,您会在当前工作目录下找到一个名为p.pcap的文件。

5 使用wireshark查看

使用Wireshark或其他支持PCAP格式的工具打开这个文件来查看和分析保存的以太网帧。

-每层用的是全称(不是缩写)

-看数据的字节流

-不需要关心更高的应用层

7 使用命令 win+r  cmd查看 scapy中命令关键字段

(1)所处的协议栈结构

(2)构成

(3)报文格式

(4)关键字段

(5)举例:

第二章 进制

1 进制

2 二进制的存储的换算关系

3 不同进制转换

-4位2进制数字==1位16进制数字

二进制转换为10进制或16进制

二进制数取值范围

4

5

6

第三章 地址

1 地址的层次

前缀+具体地址

2 网络层IP地址的写法

点分十进制:小数点隔开,十进制表示

3 IP地址的层次结构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值