产品:网卡 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地址的写法
点分十进制:小数点隔开,十进制表示