ฉันจะดมกลิ่นการจราจรของเครื่องระยะไกลด้วย wireshark ได้อย่างไร


38

ฉันสามารถดมกลิ่นการจราจรของพีซีในพื้นที่ของฉัน แต่ฉันต้องการทราบวิธีการดมกลิ่นการจราจรของเครื่องระยะไกลโดย wireshark?

เมื่ออยู่ในตัวเลือกการจับภาพฉันเลือกอินเทอร์เฟซระยะไกลและป้อน IP ระยะไกลของฉันแสดงข้อผิดพลาดรหัส (10061) ฉันควรทำอย่างไร?


5
คุณสามารถสูดดมทราฟฟิกที่อินเตอร์เฟสเครือข่ายของคุณเห็นได้เท่านั้น หากเครือข่ายเปลี่ยนแพ็คเก็ตเป็นเครื่องระยะไกลจะไม่ถูกส่งถึงคุณ BTW: พยายามปรับปรุงอัตราการตอบรับของคุณ
Matteo

คำตอบ:


54

บน Linux และ OSX คุณสามารถทำสิ่งนี้ได้โดยการรัน tcpdump บน ssh และให้ wireshark ฟังบนไพพ์

  1. สร้างไพพ์ที่มีชื่อ:

    $ mkfifo /tmp/remote

  2. เริ่มต้น wireshark จากบรรทัดคำสั่ง

    $ wireshark -k -i /tmp/remote

  3. รัน tcpdump บน ssh บนเครื่องรีโมตของคุณและเปลี่ยนแพ็กเก็ตไปยังไพพ์ที่มีชื่อ:

    $ ssh root@firewall "tcpdump -s 0 -U -n -w - -i eth0 not port 22" > /tmp/remote

ที่มา: http://blog.nielshorn.net/2010/02/using-wireshark-with-remote-capturing/


เป็นไปได้หรือไม่ที่จะจับแพ็คเก็ตผ่านเราเตอร์ในเราเตอร์เองด้วยวิธีนี้หรือเป็นไปไม่ได้
inf3rno

มันเยี่ยมมาก My 2c: อนุญาตให้ [ssh root] โดยทั่วไปไม่แนะนำ แต่คุณสามารถสลับมันได้ชั่วคราวโดยเพิ่ม root ในบรรทัด [Match User] ใน / etc / ssh / sshd_config
moodboom

นี่ไม่ได้ผลสำหรับฉันssh root@{MY_VPS_IP} -p 27922 "tcpdump -s 0 -U -n -w - -i eth0 not port 27922" > /tmp/remoteคุณบอกได้ไหมว่าทำไม
Phoenix

@infmo หากเราเตอร์สามารถเรียกใช้ tcpdump โดยตรงจากนั้นใช่มันควรจะเป็นไปได้ Mine ไม่มีพื้นที่สำหรับติดตั้ง tcpdump ไม่ใช่เรื่องแปลกสำหรับเราเตอร์ระดับล่าง
wheredidthatnamecome จาก

21

ฉันใช้ออนไลเนอร์นี้เป็นรูต มีประโยชน์มาก!

ssh root@sniff_server_ip -p port tcpdump -U -s0 'not port 22' -i eth0 -w - | wireshark -k -i -

สุดท้าย-ก่อนหน้า|คือการเปลี่ยนเส้นทางของเอาต์พุตนั้นและใช้กับอินพุตมาตรฐานโดย wireshark -kตัวเลือกใน Wireshark หมายถึง "เริ่มต้น inmidiately ดมกลิ่น


คำตอบแรกที่ดีที่สุดที่ฉันเคยเห็น
sjas

10

วิธีหนึ่งคือใช้สิ่งที่เรียกว่ามิเรอร์หรือขยายพอร์ตบนสวิตช์ของคุณ หากสวิตช์ของคุณไม่ฉลาดพอคุณสามารถใส่ฮับเล็ก ๆ ไว้ระหว่างการเชื่อมต่อสวิตช์ / โฮสต์กับการดักจับได้ คุณเชื่อมต่อฟิสิคัลลิงก์จากโฮสต์การฟังของคุณไปยังพอร์ต / ฮับนั้นจากนั้นคุณจะเห็นการรับส่งข้อมูลทั้งหมดข้ามอุปกรณ์ อีกวิธีหนึ่งคุณจะต้องติดตั้งซอฟต์แวร์การจับแพ็คเก็ตของคุณในตำแหน่งที่มีกลยุทธ์ในเครือข่ายของคุณเช่นไฟร์วอลล์ / เราเตอร์ชายแดน


ฉันมีปัญหาที่น่าสนใจไม่มากก็น้อยซึ่งสามารถแก้ไขได้ด้วยวิธีนี้ คุณตอบได้ไหม serverfault.com/questions/855245/catch-tcp-packets-with-router
inf3rno

4

คุณสามารถใช้ file descriptor เพื่อเชื่อมต่อและรับแพ็กเก็ตโดยsshและไปที่ wireshark ในพื้นที่:

wireshark -i <(ssh root@firewall tcpdump -s 0 -U -n -w - -i eth0 not port 22)

คุณ wireshark จะเปิดขึ้นและแสดงให้คุณเห็น "อินเตอร์เฟซ" /dev/fd/63ซึ่งเป็นไฟล์อธิบายที่มีข้อมูลจากระบบระยะไกล


1

ดูข้อมูลเกี่ยวกับการตั้งค่าคอมพิวเตอร์ระยะไกลเพื่ออนุญาตให้เครื่องท้องถิ่นของคุณเชื่อมต่อและจับภาพ

http://wiki.wireshark.org/CaptureSetup/WinPcapRemote


ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Scott Pack

1

ภายใต้ RHEL คำตอบของ Konrad ไม่ได้ผลสำหรับฉันเพราะtcpdumpต้องใช้ root และฉันมีสิทธิ์เข้าถึง sudo เท่านั้น สิ่งที่ทำงานคือการสร้าง Fifo ระยะไกลพิเศษที่ฉันสามารถอ่านได้จาก:

remote:~$ mkfifo pcap
remote:~$ sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22 > pcap

และส่งข้อมูลโดยการเชื่อมต่อแยก:

local:~$ mkfifo pcap
local:~$ ssh user@host "cat pcap" > pcap

และในที่สุดก็เริ่ม Wireshark

local:~$ wireshark -k -i pcap

0

คุณสามารถสูดกลิ่นการจราจรที่ทำให้คุณ ดังนั้น Joe A ไปที่ Joe B ไม่เคยเข้าใกล้พีซีของคุณดังนั้นคุณจะไม่เห็นมัน

วิธีเดียวที่คุณจะได้รับการจราจรหรือการจราจรให้กับคุณ ในการรับส่งข้อมูลต้องมีการเชื่อมต่อกับเราเตอร์หรือสวิตช์หรือฮับที่ดีที่ใดที่หนึ่งในระหว่างการเชื่อมต่อ ในการรับส่งข้อมูลถึงคุณคุณจะต้องวางยาพิษ ARP บางสวิตช์เพื่อให้พวกเขาคิดว่าเป็นของคุณ


0

นอกเหนือจากคำตอบก่อนหน้าเวอร์ชันที่มี netcat ncอาจมีประโยชน์เช่นกัน:

โฮสต์ระยะไกล:

mkfifo /tmp/mypcap.fifo

tcpdump -i em0 -s 0 -U -w - > /tmp/mypcap.fifo

nc -l 10000 < /tmp/mypcap.fifo

โฮสต์ท้องถิ่น:

wireshark -ki <(nc 192.168.1.1 10000)

หมายเหตุเกี่ยวกับวิธีนี้: ทำให้พอร์ตไม่ปลอดภัยเปิดไปยังอินเทอร์เฟซทั้งหมดดังนั้นให้แน่ใจว่าได้กรองการเชื่อมต่อขาเข้าด้วยกฎไฟร์วอลล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.