2017-08-05 11 views
0

からの出力を受け取るようにしようとしたときに私のコードは、パケットを追跡することになっているがscapyを嗅ぎ、パケットを受信した送信/プログラムチェック、プログラムはのpython - エラーcheck_output

が見つからない場合は「不明」に置きますコード:

source_software = check_output(["netstat", "-nb"], shell = True).decode() 
source_software = source_software[source_software.find(str(packet_dictionary["Port"])) : ] 
source_software = source_software[source_software.find("\n") + 2 : source_software.find("]")] 
if "Can not" not in source_software and len(source_software) > MINIMUM_LENGTH: 
    packet_dictionary["Software"] = source_software 
else: 
    packet_dictionary["Software"] = "Unknown" 

エラー:

File "Client.py", line 44, in add_to_list 
source_software = check_output(["netstat", "-nb"], shell = True).decode() 
File "C:\Python36\lib\subprocess.py", line 336, in check_output 
**kwargs).stdout 
File "C:\Python36\lib\subprocess.py", line 418, in run 
output=stdout, stderr=stderr) 
subprocess.CalledProcessError: Command '['netstat', '-nb']' returned non-zero 
exit status 1. 

答えて

0

それができるのpythonは、netstatコマンドを実行する権限または他のいずれかを持っていませんが、あなたは、次のコマンド

source_software = check_output("netstat -nb; exit 0", stderr=subprocess.STDOUT, shell=True).decode() 
print source_software 
+0

私はそれを忘れてしまって、それをデバッグすることができ、私は数週間前に、コードのこの部分をコード化し、今日はそれに戻って来た、私は管理者としてそれを実行する必要があります忘れて – NeXoR

0

あなたが見ることができるように、それはそれはおよそcheck_outputそのものではないことを意味する

Command '['netstat', '-nb']' returned non-zero exit status 1. 

...むしろちょうどあなたがそれを使用して実行しようとしたコマンドは、失敗したことをバック報告している:例外の一番下の行では、問題があることですコード1で終了します。

このコマンドをシェルで実行し、期待どおりに動作するかどうかを確認することができます。

関連する問題