2017-06-01 18 views
3

私はpython、linux RPI、scapyについて全く新しいです。私はscapyを使用していくつかのパケットを送信しようとしています。コマンドラインでの
(スーパーユーザー権限がscapyに与えられている場合のみ)
PermissionError:[Errno 1]操作が許可されていません

send(IP(dst="1.2.3.4")/ICMP()) 

Pythonスクリプトで実行している間、これは、完璧に動作します。

from scapy.all import * 
p=send(IP(dst="1.2.3.4")/ICMP()) 

したがって、あまり知らない私はそれを解決しようとしていますが、私は環境に新しいですができないエラーに

Traceback (most recent call last): 
    File "<pyshell#19>", line 1, in <module> 
    send(IP(dst="1.2.3.4")/ICMP()) 
    File "/usr/local/lib/python3.4/dist-packages/scapy/sendrecv.py",line 255, in send 
    __gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime) 
    File "/usr/local/lib/python3.4/dist-packages/scapy/arch/linux.py", line 326, in __init__ 
    self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type)) 
    File "/usr/lib/python3.4/socket.py", line 123, in __init__ 
    _socket.socket.__init__(self, family, type, proto, fileno) 
PermissionError: [Errno 1] Operation not permitted<br> 

をスローします。限り、私の検索に行くこの問題は、ソケットに関連しています。しかし、私は理解するためにまだ簡単な説明が必要です。

答えて

3

これは、sudo/admin権限でスクリプトを起動する必要があることを意味します。

+0

私はこのことを認識していますが、スクリプト内で管理者権限を与えてシェル内でうまく動作するようにする方法はありますか? –

+0

これはあなたのOSに依存します:あなたが* nixにいる場合は、Windows上で 'sudo python script.py'を使用すると、管理者(エクスプローラ)としてcmdを起動してからファイルを起動することができます – Cukic0d

+0

私はファイルを開始したくありませんCLI(Linuxのところで)ですが、シェルを介してスクリプトを直接実行したいと考えています。コマンドラインで 'sudo'を使って実行しようとするとうまくいきますが、私がPythonシェル内で直接実行しようとすると、私はそれを行うことができません。私は実際には、どのようにPythonスクリプト内の管理者やsudoの権利を与えるかわからない。 –

関連する問題