Python和nfqueue错误

时间:2015-01-05 13:29:22

标签: python

我正在尝试从博客下载的python脚本,以便在来自计算机的ping之后发送虚假的回应回复。 问题是当我运行脚本时,它给了我这个错误:

  

File" /usr/lib/python2.7/dist-packages/nfqueue.py" ;,第96行,在   create_queue def create_queue(self,* args):return   _nfqueue.queue_create_queue(self,* args)运行错误:nfq_create_queue()期间出错

这是绑定队列的部分:

    import nfqueue

q = None

q = nfqueue.queue()
q.open()
q.bind(socket.AF_INET)
q.set_callback(cb)
q.create_queue(0) 

try:
        q.try_run()
except KeyboardInterrupt:
        print "Exiting..." 

q.unbind(socket.AF_INET)
q.close()

错误发生在q.create_queue(0)上,但我不知道该怎么做!

2 个答案:

答案 0 :(得分:2)

获取的消息可能源自已经运行的python脚本执行。

假设您的脚本文件为pyscriptname.py,请运行以下命令以检查脚本的另一个实例是否已在运行:

ps -aux | grep "pyscriptname.py" | grep -v grep | wc -l

如果返回的值大于0,您可以通过运行以下命令来解决问题:

kill -9 `ps aux | grep "pyscriptname.py" | grep -v grep | awk '{print $2}'`

然后,您可以再次运行您的python脚本:

python pyscriptname.py

答案 1 :(得分:0)

nfqueue需要root权限。因此,以root身份运行脚本或在sudo下运行