ค้นหาโฮสต์บนเครือข่าย


11

วิธีที่ดีที่สุดในการค้นหาเวิร์กสเตชันเฉพาะบน VLAN คืออะไร?

บางครั้งฉันต้องทำเช่นนี้หากที่อยู่ IP ของเวิร์กสเตชันปรากฏขึ้นใน ACL Deny

  1. ฝนตกหนักใช้
  2. การใช้แบนด์วิธสูง (Talkers ยอดนิยม)
  3. การแจ้งเตือน Snort

    วิธีที่ฉันทำตอนนี้

    • ล็อกออนเข้ากับสวิตช์หลักใน VLAN เดียวกัน
    • Ping ที่อยู่ IP
    • ดึง MAC จากตาราง ARP
    • การค้นหาที่อยู่ Mac เพื่อดูสวิตช์ที่เรียนรู้มาจากไหน
    • เข้าสู่ระบบเพื่อล้างสวิตช์และทำซ้ำจนกว่าฉันจะค้นหาเวิร์กสเตชัน

บางครั้งสิ่งนี้สามารถเข้าสู่สวิตช์ ~ 7 มีความท้าทายเฉพาะกับเครือข่ายนี้ที่ฉันไม่สามารถทำอะไรได้ในขณะนี้ VLAN ขนาดใหญ่ (/ 16) ที่มีผู้ใช้สองสามร้อยคนในแต่ละ VLAN

ในร้านค้าทั้งหมดของ Cisco ที่มีงบประมาณน้อยที่สุดโดยใช้สวิตช์ของ Cisco จะต้องมีวิธีที่มีประสิทธิภาพมากกว่าในการติดตามเครื่องโฮสต์หรือไม่

แก้ไข: เพื่อเพิ่มรายละเอียดเพิ่มเติม

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

ไม่มี DNS กลางหรือ Active Directory เป็นเหมือนเครือข่ายบุคคลทั่วไปที่ให้บริการอินเทอร์เน็ตเท่านั้น ฉันพยายามให้การจัดการบางอย่างและความปลอดภัยเล็กน้อย

ฉันได้ลอง "show ip dhcp binding | inc" มันทำให้ฉันมี MAC แปลก ๆ (มีอักขระเพิ่ม 2 ตัว) ซึ่งไม่ใช่อุปกรณ์ที่เชื่อมโยงกับ MAC ฉันยังไม่ได้ดูในเรื่องนี้ แต่ ARP นั้นถูกต้องและฉันกังวลมากขึ้น ด้วยการค้นหาสวิตช์พอร์ตเครื่องที่เชื่อมต่ออยู่

หวังว่านี่จะให้ความกระจ่าง


2
เกี่ยวกับ "show ip dhcp binding | inc" ของคุณ: อักขระพิเศษที่ด้านหน้าเป็นประเภทสื่อ หากคุณลบอักขระสองตัวแรกคุณจะเหลือลูกค้า MAC การแทนค่าตัวเลขสองหลักอยู่ในตารางที่ 2: freesoft.org/CIE/RFC/1700/24.htm
some_guy_long_gone

@legioxi สิ่งนี้ถือว่ารหัสอุปกรณ์เป็นของตัวเองโดยใช้ MAC หากใช้สตริงนั่นอาจเป็นสิ่งที่เซิร์ฟเวอร์แสดง
Ricky Beam

คำตอบ:


13

ลองดูที่Layer2 traceroute (สำหรับ cisco) .. Cdp ควรจะใช้ btw ...

Router# traceroute mac 0000.0201.0601 0000.0201.0201
Source 0000.0201.0601 found on con6[WS-C2950G-24-EI] (2.2.6.6)
con6 (2.2.6.6) :Fa0/1 => Fa0/3
con5                 (2.2.5.5        )  :    Fa0/3 => Gi0/1
con1                 (2.2.1.1        )  :    Gi0/1 => Gi0/2
con2                 (2.2.2.2        )  :    Gi0/2 => Fa0/1
Destination 0000.0201.0201 found on con2[WS-C3550-24] (2.2.2.2)
Layer 2 trace completed
Router# 
Router# traceroute mac 0001.0000.0204 0001.0000.0304 detail 
Source 0001.0000.0204 found on VAYU[WS-C6509] (2.1.1.10)
1 VAYU / WS-C6509 / 2.1.1.10 :
                Gi6/1 [full, 1000M] => Po100 [auto, auto]
2 PANI / WS-C6509 / 2.1.1.12 :
                Po100 [auto, auto] => Po110 [auto, auto]
3 BUMI / WS-C6509 / 2.1.1.13 :
                Po110 [auto, auto] => Po120 [auto, auto]
4 AGNI / WS-C6509 / 2.1.1.11 :
                Po120 [auto, auto] => Gi8/12 [full, 1000M] Destination 0001.0000.0304 
found on AGNI[WS-C6509] (2.1.1.11) Layer 2 trace completed.
Router# 

มันน่าทึ่งมากตอนนี้ฉันกำลังเล่นกับมันอยู่ สิ่งที่ฉันกำลังมองหา
hyussuf

9

เราใช้ปลั๊กอินmactrackบน Cacti เพื่อทำสิ่งนั้น ทำงานได้ค่อนข้างดีข้อมูลประวัติยังมีอยู่

ตราบใดที่ตาราง ARP และ MAC สามารถใช้งานผ่าน SNMP ได้ ปัญหาเล็ก ๆ เพียงอย่างเดียวที่เรามีคือที่ซึ่งอินสแตนซ์เลเยอร์ 3 สำหรับไซต์คือ ASA เราเพิ่งทำสิ่งนี้โดยการดึงตาราง ARP ผ่านสคริปต์และสร้างไฟล์arpwatchเนื่องจาก mactrack สนับสนุนสิ่งนั้น

ภาพตัวอย่างจากการตั้งค่าของเรา: ป้อนคำอธิบายรูปภาพที่นี่

ลิงก์ Imgurl: http://i.imgur.com/h9JQVkC.png


ดี! อาจเป็นการดีกว่าที่จะโยนภาพขนาดใหญ่ขึ้นบน imgur หรือบางอย่าง ฉันไม่สามารถเห็นสิ่งเหล่านั้นได้มากนัก :-)
John Jensen

@JohnJensen ใช่นั่นเป็นเพียงการเปลี่ยนสแต็กปรับขนาดภาพลงเท่านั้นมันอัปโหลดในขนาดเต็ม ลองเปิดภาพในแท็บอื่นเช่น "คลิกขวา - เปิดภาพในแท็บใหม่ใน Chrome" จะเพิ่มลิงค์ไปยังคำตอบต่อไป
Stefan Radovanovici

7

มีสองวิธีในการทำเช่นนี้ในราคาถูก (การออกกำลังกายของการวิจัยและ / หรือการใช้งานฉันจะปล่อยให้คุณ)

  1. มีสคริปต์ที่ลงชื่อเข้าใช้อุปกรณ์ขอบแต่ละอันของคุณและหยิบตารางที่อยู่ MAC ออกจากพวกเขา คุณจะต้องไม่รวมอินเตอร์เฟสของ trunk สำหรับสิ่งนี้ แต่มันเป็นเรื่องไม่สำคัญที่จะสร้างแฮช (หรือสั่งให้คุณเป็นคนที่ใช้ภาษาไพ ธ อน) โดยใช้ปุ่มเป็นสวิตช์ขอบและค่าที่เป็นแฮชอีกอัน " สิ่งนี้จะขจัดความต้องการให้คุณไล่ MACs บนสวิตช์ขอบของคุณซึ่งเป็นสิ่งที่ดูเหมือนจะเป็นเรื่องปกติ ฉันสามารถแนะนำให้ใช้ Perl Net::Appliance::Sessionหรือ Python exscriptเพื่อให้สิ่งนี้เกิดขึ้น (ซึ่งถือว่าคุณสามารถเข้าถึงกล่อง * NIX)

  2. ใช้ SNMP เพื่อสืบค้นข้อมูลนี้ซึ่งจะทำให้ไม่จำเป็นต้องใช้สคริปต์ในการเข้าสู่สวิทช์และเรียกใช้คำสั่ง คุณเองเพื่อค้นหา MIB สำหรับตารางที่อยู่ MAC แต่นี่คือการค้นหาโดย Google เพื่อให้คุณเริ่มต้นได้

  3. หากคุณใช้ Windows เท่านั้นคุณสามารถใช้ SecureCRT หรือ TeraTerm เพื่อตั้งค่ามาโครให้เป็น "half-automatic" สิ่งนี้สำหรับคุณ แต่ประสบการณ์ของฉันกับทั้งสองอย่างนั้น จำกัด มากดังนั้น YMMV

หวังว่าจะให้ความคิดกับคุณ


6

ฉันชอบที่จะมีสคริปต์ที่คว้าshow arpและshow cam dynส่งออกทุก ๆ 15 นาทีฉันประทับเวลาด้วยterm exec prompt timestampดังนั้นเราจึงมีความสัมพันธ์อย่างคร่าวๆ จากนั้นฉันจะผนวกเอาท์พุทสวิตช์ทั้งหมดไปยังไฟล์ ... หนึ่งไฟล์ต่อสวิตช์ต่อวัน

บันทึกทั้งหมดเหล่านี้จะถูกเก็บไว้ในไดเรกทอรีเดียวกันเพื่อให้ grepping ได้ง่าย

การค้นหาโฮสต์กลายเป็นแบบฝึกหัด grep ที่ค่อนข้างง่ายถ้าคุณรู้ว่าทอพอโลยี ... ติดอยู่ใน windows โดยไม่ต้อง grep? ใช้ cygwin ...


2

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

ฉันรู้ว่ามันไม่ใช่วิธีของ Cisco / CLI แต่ควรทำงานถ้าผู้ใช้ของคุณได้รับมอบหมายให้คอมพิวเตอร์ 1-1 หากคุณมีมากถึง 1 คุณสามารถใช้เครื่องมือ Windows / Linux เพื่อค้นหาผู้ใช้ปัจจุบันของคอมพิวเตอร์


ฉันไม่คิดว่า hyussuf กำลังพยายามค้นหาผู้ที่อยู่ในคอมพิวเตอร์ - เนื่องจากนี่คือวิศวกรรมเครือข่ายและจากตัวอย่างที่เขาให้มาฉันคิดว่าเขากำลังพยายามกำหนดพอร์ตทางกายภาพที่อุปกรณ์เชื่อมต่ออยู่และอุปกรณ์นั้นอาจ ไม่ใช่เวิร์กสเตชัน
Mark

จริงไม่เพียงแค่นั้น แต่เป็นประเภทเครือข่ายแขกบริการเดียวที่เรามีให้คืออินเทอร์เน็ตส่วนผสมของ BYOD และ บริษัท ขนาดเล็กที่ต้องการการเข้าถึงอินเทอร์เน็ตเพื่อทำงานของพวกเขา เทคนิค ISP ในสถานที่ห่างไกลกับผู้ใช้ทุกชนิด เราเตอร์ของซิสโก้เป็นเซิร์ฟเวอร์ dhcp ของฉันเมื่อฉันดูข้อมูลการเชื่อมโยง MAC ผิดอย่างสมบูรณ์แม้จะมีอักขระเพิ่มอีก 2 ตัวที่ยังไม่ได้ดู
hyussuf

นอกจากนี้เป้าหมายหลักของฉันคือการค้นหาพอร์ตสวิทช์ที่กระทำผิดและยกเลิกการเชื่อมต่อหรือ 'ปิด' ลง ... ฉันขอโทษไม่สามารถหาวิธีการขึ้นบรรทัดใหม่
hyussuf

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

2

คุณกำลังทำแบบเดียวกับที่ฉันจะทำด้วยตนเอง

มีซอฟต์แวร์ออกมีที่จะทำตามขั้นตอนคู่มือให้คุณ เครื่องมือที่รวมอยู่ใน SolarWinds Engineering Toolkit จะเป็นไปได้ แต่น่าเสียดายที่มันไม่ถูก ฉันแน่ใจว่ามีทางเลือกอื่น

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

แก้ไขเพื่อเพิ่ม: ฉันคิดว่า "การล้างและทำซ้ำ" ของคุณไม่รวมถึงการ ping และ whatnot ตลอดเส้นทาง เมื่อคุณกำหนดที่อยู่ Mac แล้วคุณควรจะทำ sh mac addr | ใน #### (เครื่องหมายวงเล็บมุมหายไป)


ถูกต้อง, ping เพียงครั้งเดียว, "show mac add | inc ####", ปะปนกับบางรายการที่แสดง cdp เพื่อนบ้านหลายครั้ง
hyussuf

ฉันจะเปิดเผยว่าฉันมีสิทธิ์เข้าถึงทั้ง Toolkit ทางวิศวกรรมเช่นเดียวกับ User Device Tracker ( solarwinds.com/user-device-tracker.aspx ) และ 99% ของเวลาที่ฉันสิ้นสุดการลงชื่อเข้าใช้สวิตช์และเพิ่งทำ ด้วยมือ เป็นที่ยอมรับว่าเป็นของหายากที่ฉันต้องไป 7 ลึก แต่มันก็ใช้งานได้
Mark

SNMP-fu ของฉันไม่แรง แต่ลิงค์นั้นน่าสนใจมากและให้ความคิดกับฉัน
hyussuf

1

คุณกำลังถามสองสิ่ง
1. ค้นหา MAC บนเครือข่ายของคุณ - ฉันแนะนำให้สร้างสคริปต์ (php) และใช้ SNMP เพื่อสืบค้นตารางที่อยู่ MAC ทั้งหมดเพื่อให้สวิตช์ / พอร์ตที่คุณอยู่ IP / MAC address

2. การใช้งานมอนิเตอร์ของคุณ (ใช้ฝนตกหนัก, การใช้แบนด์วิดท์สูง (Top Talkers), การแจ้งเตือน Snort) - ใช้โซลูชันเป็นntopเพื่อตรวจสอบกระแสบนเครือข่ายของคุณ ฉันใช้มันมานานแล้วและเยี่ยมมาก


1

เพียงข้อเสนอแนะ ... ถ้าคุณมีการตรวจสอบ syslog ที่สามารถกระตุ้นเหตุการณ์บางอย่างคุณสามารถเขียนสคริปต์เพื่อค้นหา IP ของ SNMP บนสวิตช์ทุกครั้งเพื่อให้ทราบว่าเหตุการณ์นั้นเกิดขึ้นที่ใด

(ขออภัยฉันไม่พบ OID ที่แน่นอน)

แก้ไข: ลิงค์ " การใช้ SNMP เพื่อค้นหาหมายเลขพอร์ตจากที่อยู่ MAC บนสวิตช์ Catalyst " ฉันลืมเกี่ยวกับเคล็ดลับcomm @ vlan มีตารางจำนวนมากที่ ping เพื่อค้นหาข้อมูลทั้งหมดที่จำเป็นสำหรับมนุษย์ :-(


1

switchmapเป็นอีกเครื่องมือหนึ่งที่สามารถใช้ติดตามว่าที่อยู่ mac อยู่หลัง switchport ใด (เหนือสิ่งอื่นใด)


1

ฉันใช้ netdisco เพื่อรวบรวมข้อมูลนี้ มันจะช่วยให้หนึ่งในการค้นหาฐานข้อมูลที่มีชื่อโฮสต์, ที่อยู่ IP, ที่อยู่ MAC, ฯลฯ และส่งกลับสวิตช์และสวิตช์ มันจะทำสิ่งที่มีประโยชน์อื่น ๆ เช่นกัน


-3

คุณอาจพบว่าลิงค์นี้มีประโยชน์

http://arunrkaushik.blogspot.com/2007/10/traceroute-mac-ip.html


โดยทั่วไปถือว่าเป็นสไตล์ที่ดีใน Net Eng SE เพื่อรวมรายละเอียดพื้นฐานของคำตอบของคุณและเพื่อให้ลิงค์ไปยังเอกสารอ้างอิงถ้าจำเป็น (เพราะ "ลิงค์เน่า" หมายถึงในที่สุด URL นั้นจะไม่มีประโยชน์ใด ๆ )
Craig Constantine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.