2014-03-14 15 views
0

Pcap 파일의 처음 1 초를 필터링하고 C# 명령을 통해 내 보내면 약간의 문제가 있습니다. 아래의 명령은 CMD에서 잘 실행 :C#에서 Tshark를 사용하여 Pcap 파일의 처음 1 초를 필터링하는 방법은 무엇입니까?

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(); 

을이 오류를 얻을 : "시스템 파일을 찾을 수 없습니다 지정된 명령 ". 심지어 "strCmdText ="후 중단 점을 배치하고 수동으로 값을 복사

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

: 그리고 코드가 나는 마지막 필터를 제거하는 즉시 작동하기 때문에 실행 파일에 대한 모든 경로가 발견 확신 그것을 CMD에 붙여 넣기 만하면됩니다.

내가 알아 내면 정말 고맙습니다.

+0

"cmd/c"가있는 여분의 간접 참조는 "<= 1.0"을 "= 1.0"파일로의 입력 재 지정으로 만드는' "frame.time_relative <= 1.0"'주위의 따옴표를 제거합니다 , 존재하지 않습니다. 'cmd/c'를 사용하여 명령 줄에서 바로 실행 해보십시오. 아마도 여분의 따옴표를 사용해야하고, 일단 작동하면 명령을 C# 프로그램에 "가져 오기"해야합니다. –

+0

고마워요 @ Guntram, 그건 정확히 내가 필터 주위에 여분의 따옴표를 사용해 보았지만 나에게도 같은 오류를줍니다. – AmGh

답변

0

처음에 @Guntram Blohm에게 작고 큰 팁을 주신 데 대해 감사 드리며, 새로운 팁을 찾아서 검색해보십시오. I found this topic which explained my exact problem

는 그래서 "/ C"전에

/S

를 추가로 간단합니다. 나는 모든 것이 완벽하게 작동한다고 믿을 수 없다. 편집 된 행은 다음과 같습니다.

cmd /S /C "Rest of your code/Command here" 

감사합니다.