0

Pcap ファイルの最初の 1 秒をフィルタリングし、C# コマンドでエクスポートすることに小さな問題があります。以下のコマンドは、CMD で問題なく実行されます。

c:\Program Files\Wireshark\tshark.exe -r  10Secfile.pcap -T fields -E separator=, -E quote=d -e wlan_mgt.fixed.timestamp -e radiotap.mactime -e wlan_mgt.ssid -e radiotap.dbm_antsignal -e wlan.fc.type_subtype -R "frame.time_relative <=1.0" >> 1SecFile.txt

しかし、次のように C# でまったく同じことをしようとすると、次のようになります。

strCmdText = "/C \"c:\\Program Files\\Wireshark\\tshark.exe\" -r 10SecFile.pcap -T fields -E separator=, -E quote=d -e wlan_mgt.fixed.timestamp -e radiotap.mactime -e wlan_mgt.ssid -e radiotap.dbm_antsignal -e wlan.fc.type_subtype -R \"frame.time_relative <=1.0\" >> 1SecFile.txt";
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo = new System.Diagnostics.ProcessStartInfo("CMD.exe", strCmdText);
process.Start();
process.WaitForExit();

次のエラーが表示されます:「システムは指定されたコマンドのファイルを見つけることができません」。そして、最後のフィルターを削除するとすぐにコードが機能するため、実行可能ファイルへのすべてのパスが見つかると確信しています。

 -R \"frame.time_relative <=1.0\" 

「strCmdText=」の後にブレークポイントを配置し、その値を手動でコピーして CMD に貼り付けたところ、問題なく動作しました。

これを理解するのを手伝ってくれて本当にありがとう。

4

1 に答える 1