Scripts MikroTik: Découverte d’un serveur DHCP inconnu sur le réseau

Configuration de la découverte d’un serveur DHCP inconnu sur le réseau et envoi d’une notification à Telegram ou par courrier électronique. Le nom de l’interface DHCP sur laquelle se trouve le serveur, les adresses IP et MAC de l’appareil non autorisé sont envoyées.

Parfois, cela se produit lorsqu’un employé connecte la situation au réseau local de l’entreprise, un routeur personnel, avec le serveur DHCP activé, ce qui peut causer des problèmes avec la connexion de nouvelles adresses IP de périphériques sur le réseau local. Les problèmes peuvent ne pas être détectés immédiatement, mais à l’expiration du bail des adresses IP.

Pour une notification rapide de l’apparition d’un serveur DHCP non autorisé sur le réseau local, utilisez le paramètre Alertes dans les paramètres du serveur DHCP.

Article dans d’autres langues:
?? – MikroTik Scripts: Discover Unknown DHCP Server on the Network
?? – Scripts MikroTik: Descubre un servidor DHCP desconocido en red
?? – MikroTik Скрипты: Обнаружение неизвестного DHCP сервера в сети
?? – MikroTik-Skripte: Erkennen Sie unbekannte DHCP-Server im Netzwerk
?? – MikroTik-scripts: Detectie van een onbekende DHCP-server op het netwerk

Créer une alerte

Donnée initiale:

  • Interface: bridge1-lan – Nom de l’interface du serveur DHCP;
  • Valid Servers: 64:D1:54:52:6C:36 – Adresse MAC de l’interface du serveur DHCP (bridge1-lan);
  • Alert Timeout: 10 minutes – intervalle pour vérifier un serveur DHCP non autorisé et envoyer une notification.

Mettre en place un avertissement:

[IP] -> [DHCP Server] -> [Alerts] -> [+] -> [Interface: bridge1-lan] -> [Valid Servers: 64:D1:54:52:6C:36] -> [Alert Timeout: 00:10:00]

Je recommande d’appeler le script de test dans la fenêtre Alert, plutôt que de placer le texte du script. Si les scripts sont placés au même endroit [System] -> [Scripts], cela améliore la convivialité du périphérique que de placer les scripts dans certains paramètres du périphérique.

Code d’appel du script:

/system script run DiscoverUnknownDHCPServer
Créer une alerte de serveur DHCP

Script: découvrir un serveur DHCP inconnu et envoyer un message à Telegram

Pour envoyer un message Telegram, j’utilise l’appel de fonction – Scripts MikroTik: Envoi d’un message à Telegram (fonction).

Exemple de message d'avertissement Telegram
Exemple de notification Telegram de MHelp.pro

Créons un script:

[System] -> [Scripts] -> [+] -> [Name: DiscoverUnknownDHCPServer] -> [Policy: read, write, polisy, test]

Code d’appel du script:

# Find DHCP Alert 
:local CurrentTime [/system clock get time];
:local MsgID [/log find where message ~"dhcp alert" time =$CurrentTime];
:local MsgText [/log get number=$MsgID message];

# Send Telegram Message
:local DeviceName [/system identity get name];
:local MessageText "\F0\9F\94\B4 <b>$DeviceName: UNKNOWN DHCP SERVER FOUND! </b> Info: $CurrentTime $MsgText";
:local SendTelegramMessage [:parse [/system script  get MyTGBotSendMessage source]];
$SendTelegramMessage MessageText=$MessageText;
Scripts MikroTik: Découverte d'un serveur DHCP inconnu sur le réseau

Script: découvrir un serveur DHCP inconnu et envoyer un message par courrier électronique

Pour envoyer un message Telegram, j’utilise l’appel de fonction – Scripts MikroTik: envoi de notifications et de fichiers par courrier électronique (fonction)

Exemple d'e-mail d'avertissement
Exemple d’e-mail de notification de MHelp.pro

Créons un script:

[System] -> [Scripts] -> [+] -> [Name: DiscoverUnknownDHCPServer] -> [Policy: read, write, polisy, test]

Ce script n’utilise pas le téléchargement de fichiers, le paramètre FileName reçoit donc une valeur vide «  ».

Code de script:

# Find DHCP Alert 
:local CurrentTime [/system clock get time];
:local MsgID [/log find where message ~"dhcp alert" time =$CurrentTime];
:local MsgText [/log get number=$MsgID message];

# Send Email
:local DeviceName [/system identity get name];
:local Time [/system clock get time];
:local Date [/system clock get date];

:local SendTo "mail@mail.com";
:local Subject "\F0\9F\94\B4 CRITICAL: $DeviceName [$Date $Time] UNKNOWN DHCP SERVER FOUND!";
:local MessageText "$MsgText";
:local FileName "";

:local SendEmail [:parse [/system script get SendEmailFunction source]];
$SendEmail SendTo=$SendTo TextMail=$MessageText Subject=$Subject FileName=$FileName;
Script: découvrir un serveur DHCP inconnu et envoyer un message par courrier

Script d’une ligne

Envoi d’une notification concernant un serveur DHCP inconnu dans Telegram:

/tool fetch url="https://api.telegram.org/bot<BotToken>/sendMessage\?chat_id=<GroupID>&text=Unknown DHCP server on interface: $interface (IP: $address, MAC:$"mac-address")" keep-result=no;

Envoi d’une notification sur un serveur DHCP inconnu par e-mail:


/tool e-mail send to=dest_mail@mail.com server=[:resolve "smtp.mail.com"] port=465 start-tls=tls-only user="my_mail@mail.com" password="Pa$$woRD"  from="my_mail@mail.com" subject="$[/system identity get name] UNKNOWN DHCP SERVER FOUND!" body="Unknown DHCP server on interface: $interface (IP: $address, MAC:$"mac-address")"

? Comment découvrir l’apparence d’un serveur DHCP inconnu sur le réseau local (un problème dans les petits réseaux) et envoyer une notification dans Telegram ou par courrier électronique a été abordé dans cet article. J’espère qu’un moyen rapide de découvrir un serveur DHCP non autorisé sur le réseau local vous permettra de répondre plus rapidement et de faciliter votre travail. Cependant, si vous rencontrez des problèmes lors de la configuration, n’hésitez pas à écrire dans les commentaires. J’essaierai d’aider.

Le script est vérifié: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stable).

Laisser un commentaire