ฉันเขียนแอปเซิร์ฟเวอร์อย่างง่ายใน C ซึ่งทำงานบน localhost จะจับทราฟฟิก localhost โดยใช้ Wireshark ได้อย่างไร
ฉันเขียนแอปเซิร์ฟเวอร์อย่างง่ายใน C ซึ่งทำงานบน localhost จะจับทราฟฟิก localhost โดยใช้ Wireshark ได้อย่างไร
คำตอบ:
หากคุณใช้ Windows จะไม่สามารถทำได้ - อ่านด้านล่าง คุณสามารถใช้ที่อยู่ในเครื่องของคุณแทนจากนั้นคุณจะสามารถจับภาพสิ่งของได้ ดูCaptureSetup / Loopback
สรุป: คุณสามารถจับภาพบนอินเทอร์เฟซลูปแบ็คบน Linux บน BSD ต่างๆรวมถึง MacOS X และบน Digital / Tru64 UNIX และคุณอาจสามารถทำได้บน Irix และ AIX แต่คุณไม่สามารถทำได้บน Solaris, HP -UX ...
แม้ว่าหน้าจะระบุว่าสิ่งนี้ไม่สามารถทำได้ใน Windows โดยใช้ Wireshark เพียงอย่างเดียว แต่คุณสามารถบันทึกได้โดยใช้วิธีแก้ปัญหาตามที่กล่าวไว้ในคำตอบอื่น
แก้ไข: 3 ปีต่อมาคำตอบนี้ไม่ถูกต้องอีกต่อไป หน้าเชื่อมโยงมีคำแนะนำสำหรับการจับบนอินเตอร์เฟซย้อนกลับ
ด้วยเหตุผลบางประการไม่มีคำตอบก่อนหน้านี้ที่ใช้ได้ผลในกรณีของฉันดังนั้นฉันจะโพสต์บางอย่างที่หลอกลวง มีอัญมณีเล็ก ๆ ที่เรียกว่าRawCapที่สามารถดักจับทราฟฟิก localhost บน Windows ได้ ข้อดี:
หลังจากจับการรับส่งข้อมูลแล้วคุณสามารถเปิดและตรวจสอบใน Wireshark ได้ตามปกติ ข้อเสียเดียวที่ฉันพบคือคุณไม่สามารถตั้งค่าตัวกรองได้กล่าวคือคุณต้องดักจับการรับส่งข้อมูลในพื้นที่ทั้งหมดซึ่งอาจมีปริมาณมาก นอกจากนี้ยังมีข้อบกพร่องอย่างหนึ่งเกี่ยวกับ Windows XP SP 3
คำแนะนำเพิ่มเติมเล็กน้อย:
บนแพลตฟอร์ม Windows คุณยังสามารถบันทึกการรับส่งข้อมูลในพื้นที่โดยใช้ Wireshark สิ่งที่คุณต้องทำคือการติดตั้งอะแดปเตอร์ลูปแบ็คของ Microsoftจากนั้นสูดอากาศเข้าไป
ฉันยังไม่ได้ลองทำ แต่คำตอบจากเว็บนี้มีแนวโน้มว่า:
Wireshark ไม่สามารถจับภาพแพ็กเก็ตในเครื่องบน windows XP ได้จริงเนื่องจากลักษณะของ windows TCP stack เมื่อแพ็กเก็ตถูกส่งและรับบนเครื่องเดียวกันดูเหมือนว่าพวกเขาจะไม่ข้ามขอบเขตเครือข่ายที่ตรวจสอบ Wirehark
อย่างไรก็ตามมีวิธีแก้ปัญหานี้คุณสามารถกำหนดเส้นทางการรับส่งข้อมูลในพื้นที่ผ่านเกตเวย์เครือข่าย (เราเตอร์) ของคุณโดยตั้งค่าเส้นทางแบบคงที่ (ชั่วคราว) บนเครื่อง windows XP ของคุณ
สมมติว่าที่อยู่ IP XP ของคุณคือ 192.168.0.2 และที่อยู่เกตเวย์ (เราเตอร์) ของคุณคือ 192.168.0.1 คุณสามารถเรียกใช้คำสั่งต่อไปนี้จากบรรทัดคำสั่ง windows XP เพื่อบังคับให้ทราฟฟิกในเครื่องทั้งหมดออกและย้อนกลับข้ามขอบเขตเครือข่ายดังนั้น Wirehark จึงสามารถติดตาม ข้อมูล (โปรดทราบว่า wirehark จะรายงานแพ็กเก็ตสองครั้งในสถานการณ์นี้หนึ่งครั้งเมื่อออกจากพีซีของคุณและอีกครั้งเมื่อพวกเขากลับมา)
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.
คุณสามารถดูการรับส่งข้อมูลแบบวนกลับได้ใน Wireshark โดยให้มันอ่านเอาต์พุตของRawCapทันที 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 ใหม่ได้ในหน้าประกาศ RawCap Redux ที่นี่: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
สำหรับของ Windows ,
คุณไม่สามารถจับแพ็กเก็ตสำหรับLoopback ท้องถิ่นใน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
คุณไม่สามารถจับลูปแบ็คบน Solaris, HP-UX หรือ Windows ได้อย่างไรก็ตามคุณสามารถแก้ไขข้อ จำกัด นี้ได้อย่างง่ายดายโดยใช้เครื่องมือเช่นRawCap RawCap
RawCap สามารถจับภาพแพ็กเก็ตดิบบน ip ใดก็ได้รวมถึง127.0.0.1
(localhost / loopback) Rawcap ยังสามารถสร้างpcap
ไฟล์ คุณสามารถเปิดและวิเคราะห์pcap
ไฟล์ด้วยWireshark Wireshark
ดูที่นี่สำหรับรายละเอียดเกี่ยวกับวิธีการตรวจสอบการใช้ localhost RawCap และ Wireshark
ได้คุณสามารถตรวจสอบปริมาณการใช้งาน localhost โดยใช้ Npcap Loopback Adapter