要构造一个发往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:属性有 源地址、目标地址、版本、长度、协议类型、校验和
TCP:源端口、目标端口
3.2 函数
ls()函数:查看一个类所拥有的属性,ls(Ether())
lsc()函数:列出所有可以使用的函数
对属性列表里对应的属性进行设置,将ttl的