from scapy.all import IP
pkt=IP()
print(pkt)
对于IP来说,最重要的属性是源地址和目标地址,这两个属性在Scapy中使用参数src和dst来设置
要构造一个发往192.168.x.x的IP数据包
ip=IP(dst=“192.168.x.x”)
查看数据包格式的函数ls(),不了解如何为一个IP数据包指定目标地址的时候
from scapy.all import IP,ls
pkt=IP()
ls(pkt)
scapy采用分层的方式构造数据包,通常最底层的协议是Ether--》IP--》TCP/UDP
使用Ether(),这个类可以设置发送方和接收方的MAC地址。产生一个广播数据包,命令如下
Ether(dst=“ff:ff:ff:ff:ff:ff”)
分层是通过"/"实现的。如果一个数据包是由多层协议组合而成,就可以用“/”分开,并按照协议由底而上的顺序从左向右排列
使用Ether()/IP()/TCP()来构造一个TCP数据包
from scapy.all import *
pkt=Ether()/IP()/TCP()
ls(pkt)
构造一个HTTP数据包
pkt=IP()/TCP()/“GET / HTTP/1.0\r\n\r\n”
### 3、Scapy中的常用函数
#### 3.1 频率高的类:
Ether:属性有 源地址、目标地址和类型
IP:属性有 源地址、目标地址、版本、长度