나는 localhost에서 실행되는 C로 간단한 서버 앱을 작성했습니다. Wireshark를 사용하여 로컬 호스트 트래픽을 캡처하는 방법은 무엇입니까?
나는 localhost에서 실행되는 C로 간단한 서버 앱을 작성했습니다. Wireshark를 사용하여 로컬 호스트 트래픽을 캡처하는 방법은 무엇입니까?
답변:
Windows를 사용하는 경우 불가능 합니다. 아래를 읽어보세요. 대신 컴퓨터의 로컬 주소를 사용하면 물건을 캡처 할 수 있습니다. CaptureSetup / Loopback을 참조하십시오 .
요약 : Linux, Mac OS X 및 Digital / Tru64 UNIX를 포함한 다양한 BSD에서 루프백 인터페이스에서 캡처 할 수 있으며 Irix 및 AIX에서 수행 할 수 있지만 Solaris, HP에서는 수행 할 수 없습니다. -UX ... .
이 페이지에는 Wireshark 만 사용하는 Windows에서는 불가능하다고 언급되어 있지만 실제로는 다른 답변 에서 언급 한 해결 방법을 사용하여 기록 할 수 있습니다 .
편집 : 약 3 년 후,이 대답은 더 이상 완전히 정확하지 않습니다. 링크 된 페이지에는 루프백 인터페이스에서 캡처하기위한 지침이 포함되어 있습니다 .
어떤 이유로 든 이전 답변 중 어느 것도 제 경우에는 효과가 없었으므로 트릭을 한 것을 게시하겠습니다. Windows에서 로컬 호스트 트래픽을 캡처 할 수있는 RawCap 이라는 작은 보석 이 있습니다. 장점 :
트래픽이 캡처 된 후이를 열고 Wireshark에서 정상적으로 검사 할 수 있습니다. 내가 찾은 유일한 단점은 필터를 설정할 수 없다는 것입니다. 즉, 과중 할 수있는 모든 로컬 호스트 트래픽을 캡처해야합니다. Windows XP SP 3과 관련된 버그 도 하나 있습니다 .
몇 가지 추가 조언 :
Windows 플랫폼에서는 Wireshark를 사용하여 로컬 호스트 트래픽을 캡처 할 수도 있습니다. 해야 할 일은 Microsoft 루프백 어댑터 를 설치 한 다음 스니핑하는 것입니다.
나는 실제로 이것을 시도하지 않았지만 웹 의이 대답은 유망하게 들립니다.
Wireshark는 Windows TCP 스택의 특성으로 인해 Windows XP에서 실제로 로컬 패킷을 캡처 할 수 없습니다. 패킷이 동일한 시스템에서 송수신 될 때 wireshark가 모니터링하는 네트워크 경계를 넘지 않는 것 같습니다.
그러나이 문제를 해결하는 방법이 있습니다. Windows XP 시스템에 (임시) 고정 경로를 설정하여 네트워크 게이트웨이 (라우터)를 통해 로컬 트래픽을 라우팅 할 수 있습니다.
XP IP 주소가 192.168.0.2이고 게이트웨이 (라우터) 주소가 192.168.0.1이라고 가정하면 Windows XP 명령 줄에서 다음 명령을 실행하여 네트워크 경계를 넘어 모든 로컬 트래픽을 강제로 내보내고 다시 되돌릴 수 있으므로 wireshark는 데이터 (wireshark는이 시나리오에서 패킷을 두 번보고합니다. 한 번은 PC를 떠날 때, 한 번은 돌아올 때).
route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1
http://forums.whirlpool.net.au/archive/1037087 , 방금 액세스했습니다.
Npcap : https://github.com/nmap/npcap을 사용해보십시오. WinPcap을 기반으로하며 Windows에서 루프백 트래픽 캡처를 지원합니다. Npcap은 Nmap ( http://nmap.org/ ) 의 하위 프로젝트 이므로 Nmap의 개발 목록 ( http://seclists.org/nmap-dev/ ) 에 문제가 있으면 신고 해주세요 .
Starting from Windows Vista: Npcap is an update of WinPcap using NDIS 6 Light-Weight Filter (LWF), done by Yang Luo for Nmap project during Google Summer of Code 2013 and 2015. Npcap has added many features compared to the legacy WinPcap.
RawCap 의 출력을 즉시 읽 도록 하여 Wireshark에서 루프백 트래픽을 실시간으로 볼 수 있습니다 . cmaynard 는 Wireshark 포럼 에서이 독창적 인 접근 방식을 설명합니다 . 여기에서 인용하겠습니다.
[...] Wireshark에서 실시간 트래픽을 보려면 한 명령 줄에서 RawCap을 실행하고 다른 명령 줄에서 Wireshark를 실행하면됩니다. cygwin의 꼬리를 사용할 수 있다고 가정하면 다음과 같이 수행 할 수 있습니다.
cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap
cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -
cygwin의 꼬리가 필요하며 Windows의 기본 도구로는이 작업을 수행하는 방법을 찾을 수 없습니다. 그의 접근 방식은 저에게 매우 잘 작동하며 캡처 된 루프백 트래픽에서 모든 Wiresharks 필터 기능을 실시간으로 사용할 수 있습니다.
stdout
. 따라서 오늘부터 위에 제공된 솔루션은 tail
필요 없이 다음과 같이 단순화 할 수 있습니다 RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k
. 여기 RawCap Redux 발표 페이지에서 새로운 RawCap 기능에 대한 자세한 내용을 읽을 수 있습니다. netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
들어 윈도우 ,
Wireshark 에서 로컬 루프백 에 대한 패킷을 캡처 할 수는 없지만 RawCap 이라는 매우 작지만 유용한 프로그램을 사용할 수 있습니다 .
명령 프롬프트 에서 RawCap 을 실행 하고 Loopback Pseudo-Interface (127.0.0.1)를 선택한 다음 패킷 캡처 파일 ( .pcap ) 의 이름을 작성하십시오.
간단한 데모는 다음과 같습니다.
C:\Users\Levent\Desktop\rawcap>rawcap
Interfaces:
0. 169.254.125.51 Local Area Connection* 12 Wireless80211
1. 192.168.2.254 Wi-Fi Wireless80211
2. 169.254.214.165 Ethernet Ethernet
3. 192.168.56.1 VirtualBox Host-Only Network Ethernet
4. 127.0.0.1 Loopback Pseudo-Interface 1 Loopback
Select interface to sniff [default '0']: 4
Output path or filename [default 'dumpfile.pcap']: test.pcap
Sniffing IP : 127.0.0.1
File : test.pcap
Packets : 48^C