我正在嘗試使用 Tshark 命令行應用程序捕獲 CDP 數據包,并將輸出重定向到我的 C# 控制臺程序或我可以讀入應用程序的文件。這是行不通的。我運行的是 Windows 10 版本 1703。我已在命令行提示符中驗證特定 tshark 命令是否有效,并且我獲得了 CDP 數據包的正確輸出,但是當我嘗試在命令行提示符中重定向輸出時,會寫入文件,但不會寫入數據。我的 C# 控制臺應用程序中也會出現此問題,無論我是否將輸出重定向到控制臺或文件,都會發生此問題。我在某處讀到(不記得在哪里)說 tshark 可能存在重定向輸出問題,你知道這是真的嗎?我還嘗試通過使用 tshark -W "filename.txt" 命令寫入文件來重定向輸出(與 .pcap 的結果相同)。這也失敗了。// Nic.Name = Ethernet (the network card I am capturing packet from)// In the code below I am trying to redirect the output from the tshark command to my console application. ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = @"C:\tshark\\tshark.exe"; psi.Arguments = "-i " + nic.Name + " ether[16:4] = 0x0300000C and ether[20:2] == 0x2000"; psi.UseShellExecute = false; psi.RedirectStandardOutput = true; psi.CreateNoWindow = true; Process tsharkProcess = Process.Start(psi); string s = tsharkProcess.StandardOutput.ReadToEnd(); Console.WriteLine(s);我期望輸出是這樣的(運行 tshark 命令時不應出現命令行窗口,它應該在后臺運行):在“以太網”上捕獲 1 0.000000 d0:c7:89:1c:55:19 → 01:00:0c:cc:cc:cc CDP 492 設備 ID:SW1.local.it 端口 ID:GigabitEthernet1/0/25我得到以下輸出:在“以太網”上捕獲我沒有收到任何錯誤消息。
Tshark 將輸出重定向到 C# 控制臺程序或文件
慕桂英3389331
2023-07-23 16:50:52