python通信原理_用python通过原始套接字发送scapy包

要使用原始套接字发送scapy数据包,必须先将数据包转换为原始字节。例如,使用scapy制作的数据包如下:p = IP(dst="192.168.1.254")/TCP(flags="S", sport=RandShort(),dport=80)

应使用bytes(p)转换为原始字节。

这会给你类似的东西:'E\x00\x00(\x00\x01\x00\x00@\x06\xf6w\xc0\xa8\x01\t\xc0\xa8\x01\xfe\x97%\x00P\x00\x00\x00\x00\x00\x00\x00\x00P\x02 \x00t\x15\x00\x00'

然后可以使用原始套接字发送它。因此,对于您的示例,您可以修改一些代码,例如:from scapy.all import *

import socket

try:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

p = IP(dst="192.168.1.254")/TCP(flags="S", sport=RandShort(),dport=80)/Raw("Hallo world!")

s.connect(("192.168.1.254",80))

s.send(bytes(p))

print "[+] Request Sent!"

except Exception, e:

raise e

这应该管用!

注意!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值