1

Тема: Кнопка по Ethernet без МК? Легко

Кнопку можна відстежити по мережі без задіяння LAN контролера на її кінці. Даний спосіб підійде, якщо у вашому віддаленому комутаторі залишився хоча б один вільний порт. Так можна відстежувати, наприклад, стан двері шафи автоматики, чи не забули його закрити КіПівці. Пропоноване рішення не є панацеєю і доцільно при необхідності моніторингу стану будь-якого дискретного каналу при мінімумі витрат.

https://youtu.be/kI0Jqc36-Sw
https://youtu.be/ZfBs87Rapyw

Передумови реалізації...

Ви напевно знаєте, що багато роутерiв-комутаторов мають можливість відстеження* стану порта - чи підключений кабель. Це візуалізується апаратно світлодіодними індикаторами і навіть  мнемонічно схемою станів портів в деяких роутерах в WEB інтерфейсі:
http://replace.org.ua/extensions/om_images/img/594516cf2171c/vct%2Binfo.png

*Функцією VCT Info (Virtual Cable Tester) для відстеження Link Status - забезпечені практично всі роутери/маршрутизатори D-Link (навіть в моделі початкового рівня DIR-100), деякі TP-Link і Cisco.

Вся справа в так званому механізмі тестування ЛЗ для перевірки з'єднання і подальшого узгодження швидкостi. У стандарті 10Base-T при відсутності мережевого трафіку раз в 16 мс відсилається один 100 нс імпульс (Normal Link Pulse - NLP), в Fast Ethernet вже йде фрейм з 33 імпульсів тактів і DATA. Для збереження зворотної сумісності фрейм йде теж раз в 16 мс з тієюж тривалістю для кожного імпульсу.

http://replace.org.ua/extensions/om_images/img/594516cf2171c/nlp.png

Якщо ми підключимо кінцевик, скажімо на TX- & RX-, а TX + на RX + через імпульсний або ВЧ діод, то він Link-імпульси пропустить, але не пропустить DATA, тим самим ми уникнемо колізії. У наявному шматку UTP кабелю використані Піни: 1 (TX +), 2 (TX-), 3 (RX +) і 6 (RX-) і кнопка, що імітує кінцевик. Можна написати скрипт на Python, PHP [5], залізти в WEB-інтерфейс роутера і отримати стан порту.

Benchmark KEY.ETH (для мережевої карти)

У разі локальної мережевої карти все навіть простіше - використовуючи Internet Protocol Helper API interface був розроблений примітивний бенчмарк моніторингу стану Lanstate [6]. Відстеження відключення (розриву) проводиться миттєво, швидкість виявлення підключення обумовлена настройками мережевої карти у вашій ОС:

http://replace.org.ua/extensions/om_images/img/594516cf2171c/benchmark.png

http://replace.org.ua/extensions/om_images/img/594516cf2171c/off.png

Ресурси по тематиці

Подякували: reverse2500, 0xDADA11C72