Windows의 Wireshark.exe를 어떻게 PCAP 파일 스트림에서 읽을 수 있습니까?

Windows의 Wireshark.exe를 어떻게 PCAP 파일 스트림에서 읽을 수 있습니까?

이것은 아마도 Wireshark 질문이라기보다는 Windows에서 "파일을 응용 프로그램으로 파이프하는 방법"에 더 가깝습니다.

Linux에서는 tcpdump를 사용하여 다른 호스트의 pcap 파일을 캡처하고 라이브 캡처 경험을 위해 로컬 시스템의 Wireshark로 다시 파이프할 수 있습니다 ssh host sudo tcpdump -iany -U -s0 -w - 'not port 22' | wireshark-gtk -k -i -. Windows 시스템에서 tcpdump가 설치된 Linux 시스템으로 시작할 수도 있습니다 plink.exe -ssh -pw password user@host "tcpdump -ni any -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -. 쉘과 tcpdump에 액세스할 수 있는 한 둘 다 잘 작동합니다. 하지만 난 그렇지 않아요.

대상 시스템(AVM Fritzbox)에는 ssh 또는 telnet이 없습니다(더 이상 없음). 쉘에 로그인할 수 없습니다. 웹 접속만 가능해요.

그래서 끊임없이 데이터로 채워지는 pcap 파일이 있습니다. Chrome 세션에서 실시간 캡처입니다.http://fritz.box/html/capture.html내 다운로드 폴더로 스트리밍되는 중입니다. 나는 fritzbox 라우터가 내부적으로 tcpdump를 사용하여 출력을 내 로컬 Windows 다운로드 폴더에 파일로 스트리밍하고 있다고 생각합니다.

위의 Linux 변형과 유사하게 해당 파일이 Wireshark.exe에도 저장되어 있는 것을 보고 싶습니다.

다음은 작동하지 않습니다(tail -f와 거의 동일한 PowerShall 사용) Get-Content "path-to-file-being-downloaded" -wait | .\Wireshark.exe -i -. Wireshark가 시작되지 않습니다. 파이프가 스트림이 아닌 객체를 전송하기 때문인 것 같습니다. "-wait" 없이 수행하면 Get-Content "path-to-file-being-downloaded" | .\Wireshark.exe -i -파일을 열지 않고 Wireshark가 시작되므로 파이프된 입력이 표시되지 않는 것 같습니다.

Get-Content "path-to-file-being-downloaded" -waitpcap 파일의 내용을 나타내는 것처럼 보이는 일부 횡설수설에 대한 tail -f 같은 보기를 제공합니다. 로 동일한 파일을 열면 .\Wireshark.exe "path-to-file-being-downloaded"Wireshark는 파일 내용으로 시작하지만 "패킷 중간에 잘림"이라고 불평합니다. 분명히 ..

위의 linux 명령과 유사하게 여전히 데이터로 채워져 있는 pcap 파일을 따르도록 Windows의 Wireshark에 어떻게 알릴 수 있습니까? 즉, 어떻게 해당 파일을 계속해서wireshark.exe로 파이프할 수 있습니까?

고마워요 댄

답변1

이 솔루션에는 WSL2가 포함되어 있지만 Windows 버전의 Wireshark에서는 제대로 작동합니다.

기본적으로 WSL2에서 다음을 실행합니다.

ssh user@server 'tcpdump -U -i eth0 -w -' | /mnt/c/Program\ Files/Wireshark/Wireshark.exe -k -i -

Wireshark가 기본 위치에 설치되어 있다고 가정합니다. 귀하의 요구 사항과 환경에 맞게 조정하십시오.

관련 정보