为了账号安全,请及时绑定邮箱和手机立即绑定

Tshark 将输出重定向到 C# 控制台程序或文件

Tshark 将输出重定向到 C# 控制台程序或文件

C#
慕桂英3389331 2023-07-23 16:50:52
我正在尝试使用 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 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我已经找到问题了。我缺少tshark 依赖于写入文件的a.dll或文件。.exe写入文件现在可以工作,但我没有重定向到控制台来工作。



查看完整回答
反对 回复 2023-07-23
  • 1 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信