จะค้นหาที่อยู่ MAC ของสวิตช์ที่ฉันเชื่อมต่ออยู่ได้อย่างไร


17

บนเซิร์ฟเวอร์ linux ฉันพยายามค้นหาที่อยู่ MAC ที่เซิร์ฟเวอร์ของฉันรับรู้ ที่อยู่ MAC ของพอร์ตสวิตช์ที่ฉันเชื่อมต่อโดยเฉพาะ

เป็นไปได้ไหม

ปรับปรุง: คำตอบด้านล่างช่วยฉัน สวิตช์ของฉันเป็นสวิตช์ที่มีการจัดการอย่างไรก็ตามเนื่องจากที่อยู่ IP ในเครื่องโฮสต์ของฉันถูกตั้งค่าเป็นแบบคงที่สวิตช์ไม่ได้รับที่อยู่ MAC ด้วยเหตุผลบางอย่าง ฉันเปลี่ยนโฮสต์เป็น DCHP ซึ่งทำให้สวิตช์ของฉันรับที่อยู่ MAC บนพอร์ตที่เชื่อมต่ออย่างถูกต้องหลังจากที่พวกเขาส่งคำขอ DHCP สิ่งนี้ทำให้ฉันสามารถใช้ตารางสวิตช์ MAC-Address เพื่อค้นหาว่าโฮสต์ใดเชื่อมต่อกับพอร์ตใดและฉันวางโฮสต์กลับไปที่ IP แบบคงที่


7
เหตุใดพอร์ตสวิตช์จึงมีที่อยู่ MAC ไม่ใช่จุดสิ้นสุดการสื่อสาร - ไม่ใช่แหล่งหรือปลายทางของการรับส่งข้อมูลอีเธอร์เน็ต
David Schwartz

1
สวิตช์ที่จัดการบางตัวมีที่อยู่ MAC ต่อพอร์ตหรือต่อ VLAN MAC คำสั่งของ Cisco ในคำตอบของสไปเดอร์จะแสดงสิ่งนี้
พอลเกียร์

1
Damianman เป็นไปได้ยากมากที่ DHCP เทียบกับ IP คงที่เป็นสาเหตุของการที่คุณไม่เห็น MAC ของไคลเอ็นต์ ถ้าสวิตช์ของคุณไม่เห็น MACs ที่เลเยอร์ 2 แสดงว่ามันไม่ทำงานเลยเพราะนั่นเป็นสิ่งที่สวิตช์ทำ ส่ง Ping การจัดการ IP ของสวิตช์ของคุณจากพีซีไคลเอนต์ (ตราบใดที่มันอยู่ใน VLAN เดียวกัน) ควรจะเป็นสิ่งที่จำเป็นสำหรับสวิตช์เพื่อดู MAC ของพีซีในตาราง ARP
พอลเกียร์

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

คำตอบ:


15

หากคุณโชคดีคุณใช้สวิตช์อัจฉริยะและจริง ๆ แล้วมันจะมีที่อยู่ MAC

ในกรณีนั้นคุณสามารถใช้ LLDP ได้ ติดตั้งlldpdบน Linux จากนั้นเรียกใช้:

michael:~$ lldpctl 
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface:    eth0, via: LLDP, RID: 1, Time: 5 days, 22:33:31
  Chassis:     
    ChassisID:    mac 28:a6:8e:03:57:9b
    SysName:      core-pri
    SysDescr:     Netgear Gigabit Smart Switch
    MgmtIP:       10.0.0.38
    Capability:   Bridge, on
  Port:        
    PortID:       local g22
    PortDescr:    Not received
-------------------------------------------------------------------------------

2
และอีกครั้งถ้าคุณโชคดีเปลี่ยนจะจริงจะทำงาน LLDP
bahamat

1
โชคดีที่lldpdแพ็คเกจนี้ยังรองรับ CDP และอื่น ๆ w00t!
MikeyB

8

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


4
สวิตช์ที่ได้รับการจัดการทั้งหมดมีที่อยู่ MAC บางครั้งหนึ่งต่อ VLAN หรือหนึ่งต่อพอร์ต อาจเป็นความคิดที่ดีที่จะชี้แจงว่าคุณหมายถึงสวิตช์ที่ไม่มีการจัดการ
พอลเกียร์

7

ขึ้นอยู่กับชนิดของสวิตช์ที่คุณเชื่อมต่อ

สวิตช์โง่ (ปกติเรียกว่าสวิตช์ที่ไม่มีการจัดการซึ่งเป็นสะพานเครือข่ายที่มีประสิทธิภาพ) จะไม่มีที่อยู่ MAC
สวิตช์ที่จัดการ (บางครั้งเรียกว่าสวิตช์อัจฉริยะ) จะมีที่อยู่ MAC

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

arp -a

หากคุณกำลังจัดการกับสวิตช์ที่มีการจัดการด้วยพอร์ตคอนโซลให้เชื่อมต่อด้วยสายคอนโซลและป้อนคำสั่งนี้ (สมมติว่าเป็นสวิตช์ของ Cisco):

show mac address-table

http://www.techexams.net/forums/ccna-ccent/45578-mac-address-switch.html https://learningnetwork.cisco.com/thread/9625


4
ปัญหาสองสามอย่าง: สวิตช์โง่นั้นไม่ค่อยถูกเรียกว่าบริดจ์เครือข่าย (แม้ว่าจะเป็นสิ่งที่พวกเขาทำ); ฉันอยากจะแนะนำเพียงแค่เรียกพวกเขาว่าสวิตช์ที่ไม่มีการจัดการ คำสั่ง arp จะทำงานได้ถ้า 1. การจัดการ IP ของมันอยู่บน VLAN เดียวกัน, และ 2. พีซีเพิ่งจะทำการติดต่อเมื่อไม่นานมานี้.
พอลเกียร์

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