gpt4 book ai didi

scapy:发送数据包时不允许操作

转载 作者:行者123 更新时间:2023-12-04 05:38:39 27 4
gpt4 key购买 nike

我正在尝试使用Scapy学习一些数据包生成。看起来很酷。根据一些文档,我正在这样做:

l3=IP(dst="192.168.0.1", src="192.168.0.2", tos=(46 << 2))

但是只能得到以下错误信息:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 251, in send
__gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime)
File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line 307, in __init__
self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type))
File "/usr/lib/python2.7/socket.py", line 187, in __init__
_sock = _realsocket(family, type, proto)
error: [Errno 1] Operation not permitted

以root身份运行scapy解决了该问题。但这不是我想要的。是因为普通用户无法创建RAW套接字吗?如果是这样,是否有解决方案?

最佳答案

Scapy需要root特权才能创建原始套接字,因为它使用Python套接字库。根据Linux raw man pages.,仅允许原始套接字使用“有效用户ID为0或CAP_NET_RAW功能”

我找不到关于设置CAP_NET_RAW功能的可靠文档,但是,如果您正在寻找一种运行Scapy脚本的方法,该脚本使用没有root的原始套接字,那就是您需要做的。

关于scapy:发送数据包时不允许操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22421290/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com