如何在scapy中发送L2TP数据包?

时间:2016-11-24 07:32:15

标签: python wireshark scapy tcpdump

我实际上是scapy / networking

的新手

与ICMP一样,我可以发送ICMP数据包/请求,如

srp(Ether(src=u'd2:ff:90:c5:1f:21', dst=u'9c:22:14:4f:6c:ac', type=2048)/IP(src=u'238.166.15.14', dst=u'70.74.2.83')/ICMP(type=8)/Raw(load='UZe5ICdH'),timeout=10,iface="ens192.50")

另一方面我可以发送一个包/回复

srp(Ether(dst=u'd2:ff:90:c5:1f:21', src=u'9c:22:14:4f:6c:ac', type=2048)/IP(dst=u'238.166.15.14', src=u'70.74.2.83')/ICMP(type=0)/Raw(load='UZe5ICdH'),timeout=10,iface="ens192.50")

有人可以帮我解决L2TP问题吗?

1 个答案:

答案 0 :(得分:0)

LT2P使用1701端口下的UDP数据包进行通信。

L2TP的数据包结构如下:

Ether / IP / UDP/ L2TP / PADDING

所以我们将发送一个像

这样的数据包
srp(Ether(src=u'12:24:52:93:c6:54', dst=u'ea:26:7c:6b:02:dc', type=2048)/IP(src=u'22.159.236.164', dst=u'182.187.41.246')/UDP(dport=1701, sport=1701)/L2TP(pkt_type=2)/Padding(load='5Z0WZ'), iface='ens192.50', timeout=5)

这里发送一个超过l2tp的消息包(即pkt_type = 2)。我们也可以发送控制消息,比如Start-Control-Connection-Request,Hello等。

参考站点: