【发布时间】:2014-04-20 16:56:27
【问题描述】:
我正在尝试使用 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 套接字吗?如果有,有解决办法吗?
【问题讨论】: