我正在尝试使用 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我得到以下输出:在“以太网”上捕获我没有收到任何错误消息。
- 1 回答
- 0 关注
- 168 浏览
添加回答
举报
0/150
提交
取消