これでpythonスクリプトを実行すると:
tsharkCall = ["tshark", "-a", "duration:6", "-i", "2", "-w", "thsark.pcap"]
tsharkProc = subprocess.Popen(tsharkCall, bufsize=0, executable="C:\\Program Files\\Wireshark\\tshark.exe")
期待される内容の pcap ファイルが、スクリプトと同じフォルダーに正しく表示されます。
pcap からテキスト ファイルを作成する 2 番目の手順は機能しません。
tsharkCall = ["tshark", "-i", "-", "<", "tshark.pcap", ">", "tshark.txt", "-V"]
tsharkProc = subprocess.Popen(tsharkCall, bufsize=0, executable="C:\\Program Files\\Wireshark\\tshark.exe")
cmd ウィンドウに「Capturing on Standard input」と表示されますが、「x packet capture」はなく、フォルダーに tshark.txt ファイルも表示されません。
同じ場所のコマンド プロンプトから、これは私がスクリプトから期待している仕事をします:
>"C:\Program Files\Wireshark\tshark.exe" -i - < "tshark.pcap" > "tshark.txt" -V
一方の呼び出しが機能し、もう一方の呼び出しが機能しないのは奇妙に思えます。私が見逃しているものについてのアイデアはありますか?