首页 > 解决方案 > 如何通过 C# 在命令行中运行 WireShark 命令

问题描述

我想使用以下命令将 .pcapng 文件转换为 .csv 文件:

     > cd C:\Program Files\Wireshark
     > tshark -r output.pcapng -T fields -e frame.number -e eth.src -e eth.dst -e frame.len -e frame.time -e frame.time_relative -e data -E header=y -E separator=, > output.csv

在 C# 中,我使用了以下代码。

        string command = @"cd C:\Program Files\Wireshark & tshark -r output.pcapng -T fields -e frame.number -e eth.src -e eth.dst -e frame.len -e frame.time -e frame.time_relative -e data -E header=y -E separator=, > output.csv";
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
        startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        startInfo.FileName = "CMD.exe";
        startInfo.Arguments = command;
        startInfo.Verb = "runas";
        process.StartInfo = startInfo;
        process.Start();
        process.WaitForExit();

这似乎不起作用。

标签: c#cmdwiresharktshark

解决方案


检查该路径:

string command = @"cd C:\ProgramFiles\Wireshark & tshark -r output.pcapng -T fields -e frame.number -e eth.src -e eth.dst -e frame.len -e frame.time -e frame.time_relative -e data -E header=y -E separator=, > output.csv";

在我的机器上,Program Files这两个词之间有一个空格,也Wireshark & tshark很可疑。与号(尤其是在使用 shell 时)的解释不同。


推荐阅读