我将在两个路由器之间创建一个VPN隧道。因此,我需要通过VPN隧道发送由Scapy生成的一些原始数据包。基本上,我需要生成一些原始的IPSec数据包。
答案 0 :(得分:1)
这是scapy的IPSec https://github.com/secdev/scapy/blob/master/test/ipsec.uts测试文件
它提供了很多示例,例如
import socket
p = IP(src='1.1.1.1', dst='2.2.2.2')
p /= TCP(sport=45012, dport=80)
p /= Raw('testdata')
p = IP(raw(p))
p
sa = SecurityAssociation(ESP, spi=0x222,
crypt_algo='NULL', crypt_key=None,
auth_algo='NULL', auth_key=None)
e = sa.encrypt(p)
e
assert(isinstance(e, IP))
assert(e.src == '1.1.1.1' and e.dst == '2.2.2.2')
assert(e.chksum != p.chksum)
assert(e.proto == socket.IPPROTO_ESP)
assert(e.haslayer(ESP))
assert(not e.haslayer(TCP))
assert(e[ESP].spi == sa.spi)
assert(b'testdata' in e[ESP].data)
d = sa.decrypt(e)
d