मैनुअल Ethernet tap बनाना
(blog.lvmbdv.dev)- स्मार्ट TV के idle traffic को सीधे देखने के लिए €39 वाले Throwing Star LAN Tap की जगह RJ45 breakout board और mini breadboard से एक passive Ethernet tap की नकल बनाई गई
- यह tap router और target device के बीच inline लगाया जाता है, signal को दो monitor ports पर copy करता है, और बिना power, software या configuration के काम करता है
- J1-J2 को 8-pin straight-through patch cable की तरह रखा जाता है, जबकि J3·J4 दोनों दिशाओं के TX pair को monitor device के RX pair तक भेजकर traffic direction को अलग-अलग देखने देते हैं
- monitor port के unused pair पर 220 pF capacitor के 2 टुकड़े लगाकर Gigabit auto-negotiation को बाधित किया जाता है, link को 100 Mbps पर गिराया जाता है, और 100BASE-TX के सिर्फ दो pair tap किए जाते हैं
- smart TV टेस्ट में 7.5 मिनट के दौरान 2,769 packets और औसतन 14 kbps capture हुए, 100 Mbps link बिना CRC errors के बना रहा, इसलिए यह प्रयोगात्मक passive tap के रूप में पर्याप्त रूप से काम करता है
breadboard से बना passive Ethernet tap
- Throwing Star LAN Tap को देखकर यह जानना था कि smart TV कितना communication करता है, लेकिन €39 खर्च करने के बजाय mini breadboard replica बनाया गया
- passive Ethernet tap एक साधारण inline device है जो target device और router के बीच रखा जाता है
- signal को दो अतिरिक्त monitor ports पर copy करता है
- इसमें physical traffic को दोबारा inject नहीं किया जा सकता
- power, software या configuration की जरूरत नहीं होती
- monitor ports receive-only होते हैं, इसलिए गलती से network पर DoS करने की संभावना कम रहती है
-
wiring और 100 Mbps force करना
- tap में 4 RJ45 jacks हैं
- J1 computer से, J2 router से जुड़ा है
- J1 और J2 pin-to-pin सीधे जुड़े हैं, इसलिए electrically यह patch cable की तरह काम करता है
- J3 computer से router की ओर जाने वाले traffic को monitor करता है
- J1 के TX pair यानी pin 1·2 को J3 के RX pair यानी pin 3·6 तक भेजा जाता है
- J4 विपरीत दिशा के traffic को संभालता है
- J2 के TX pair को J4 के RX pair तक भेजा जाता है
- J3 और J4 के pin 1·2 को floating छोड़ा जाता है ताकि monitoring computer transmit न कर सके
- 220 pF ceramic capacitor के 2 टुकड़े monitor jack के unused pair को bridge करते हैं
- C1, J3 pin 4-5 पर और C2, J4 pin 7-8 पर जुड़ा है
- ये capacitor नीले और भूरे pair पर Gigabit auto-negotiation को बिगाड़कर link को 100 Mbps पर गिरा देते हैं
- 100 Mbps Ethernet चार pair में से सिर्फ दो pair इस्तेमाल करता है, और यह setup उन्हीं दो pair को tap करता है
- अगर negotiation Gigabit पर हो जाए, तो data चारों pair में फैल जाता है और इस tap से उसे देखना मुश्किल हो जाता है
निर्माण और capture के नतीजे
- मूल Throwing Star LAN Tap custom PCB इस्तेमाल करता है, लेकिन इस build में 4 RJ45 breakout boards, 2 capacitors और एक mini breadboard का उपयोग किया गया
- inline path के लिए breadboard के एक तरफ J1-J2 के बीच 8 तारों से सीधा connection किया गया
- monitor tap inline path से branch होता है
- J3 के लिए J1 pin 1·2 से J3 pin 3·6 तक jumper जोड़े गए
- J4 के लिए J2 pin 3·6 से J4 pin 3·6 तक connection किया गया
- capacitors monitor jack के unused pair को सीधे bridge करते हैं
- चिंता थी कि breadboard के parasitic effects signal को खराब कर सकते हैं
- 100BASE-TX, 125 MHz पर काम करता है
- breadboard की adjacent rows के बीच parasitic capacitance आमतौर पर 2-5 pF होती है और impedance भी matched नहीं होता
- inline wires छोटे होने की वजह से signal बिना समस्या के बना रहा
- production network में breadboard इस्तेमाल करना मुश्किल है, लेकिन passive tap के प्रयोग के लिए यह काफी अच्छा चला
- smart TV और router के बीच tap लगाकर, desktop को monitor port से जोड़कर capture किया गया
- पहले 7.5 मिनट में 2,769 packets, औसतन 14 kbps देखे गए
- idle smart TV ज़्यादातर control traffic और device discovery traffic ही भेजता है
- TV ने 5 मिनट से कम समय में
239.255.255.250पर SSDP NOTIFY packets 877 बार भेजे - वही services और वही announcements IPv4 और IPv6 दोनों पर mDNS से broadcast किए गए
- दूसरे subnet का smart device
192.168.3.7burst में 34 broadcast frames भेजता है - router
192.168.2.254हर चीज़ का जवाब IGMP queries से देता है
- कुल 2,769 frames में 0 CRC errors थे और link light 100 Mbps पर स्थिर रही
- USB Ethernet adapter आने के बाद असली laptop traffic को भी tap किया जा सकेगा
1 टिप्पणियां
Lobste.rs टिप्पणियाँ
अगर आपके पास configurable switch है, तो इस तरह के काम के लिए उसमें port mirroring support होने की काफी संभावना है
अगर आप खुद बनाना नहीं चाहते, तो वही आसान तरीका है
कम-से-कम consumer-grade managed switch तो मैंने नहीं देखा
ऐसे project का मुख्य हिस्सा capture ही लगता है, इसलिए अच्छा होता अगर packet capture वाले हिस्से पर ज्यादा जोर दिया जाता
मेरा smart TV भी standby में mDNS और SSDP के अलावा बहुत सारा अनचाहा traffic पैदा करता है
मेरे पास अभी laptop के लिए USB Ethernet adapter नहीं है, इसलिए desktop और TV के बीच इसे लगाकर इस्तेमाल करने वाला setup काफी असुविधाजनक था
adapter आने के बाद शायद इसी हिस्से पर focus करते हुए कोई ज्यादा रोचक लेख लिखूँगा
इससे भी सस्ता और ज्यादा rough तरीका यह है कि punchdown-style keystone jack के दो पीस से वही काम किया जा सकता है
https://janitha.com/articles/passive-splice-network-tap/
networking सीखते समय मुझे याद है कि Ethernet hub होते थे, जिन्हें इस तरह configure किया जाता था कि हर Ethernet port का transmit side बाकी सभी ports के receive side पर broadcast करे
मुझे लगता है कि यह कुछ हद तक बीच का रास्ता हो सकता है
बेशक, ऐसा primitive hub मैंने असल में कभी नहीं देखा। शायद मैं बहुत छोटा हूँ…
स्वाभाविक है कि वे collision-prone होते हैं, इसलिए ज्यादा भरोसेमंद नहीं होते
मैंने कभी खरीदा नहीं, लेकिन इस video में उनका अंदरूनी हिस्सा देखा था: https://youtu.be/QgrVVyIzecM?t=266
इससे मुझे अपने बूढ़े होने का एहसास होता है ;-)
उसके बाद collision का risk शायद बहुत बड़ी समस्या बन गया होगा