Community discussions

MikroTik App
 
drmotaadam
just joined
Topic Author
Posts: 11
Joined: Sat Nov 13, 2021 12:22 am

Run script when ping on specific IP is detected

Thu Dec 01, 2022 9:04 am

Hi,

I want to make a script that monitors one specific IP and if I ping this IP the script will run. I tried some things but they never worked.

Thanks for any help on the subject.
 
User avatar
jvanhambelgium
Forum Veteran
Forum Veteran
Posts: 985
Joined: Thu Jul 14, 2016 9:29 pm
Location: Belgium

Re: Run script when ping on specific IP is detected

Thu Dec 01, 2022 9:23 am

Why make a script ? "Netwatch" will do that for you...

> Tools > Netwatch

Then define some "targets" and what test you want to run (eg. regular ICMP or TCP-con or something)
Then define "action" what to do when "Up" and/or "Down" (you can past a script right there)
 
drmotaadam
just joined
Topic Author
Posts: 11
Joined: Sat Nov 13, 2021 12:22 am

Re: Run script when ping on specific IP is detected

Thu Dec 01, 2022 7:09 pm

I am familiar with netwatch. I will clarify better what I need. For example, I set a Veth on my MK with IP 10.1.1.1 after that I am going to ping this IP from my PC and I want to activate something with that ping. So I need to make a script that will watch that IP and if its sees ICMP traffic it will execute.
 
User avatar
TomjNorthIdaho
Forum Guru
Forum Guru
Posts: 1492
Joined: Mon Oct 04, 2010 11:25 pm
Location: North Idaho
Contact:

Re: Run script when ping on specific IP is detected

Thu Dec 01, 2022 7:22 pm

Netwatch will allow you to :
- Run a script one time when an IP stops pinging
- Run a script one time when an IP starts pinging

Note: My netwatch scripts recheck multiple times when an IP stops pinging b4 it runs a script. I do this to allow for false no-pings such as a network had a 10-second glitch where nothing passes for 10 to 180 seconds. After multiple ping retries ( 10 to 60 seconds ) , then my script runs.

It works , I use this myself.

North Idaho Tom Jones
 
User avatar
rextended
Forum Guru
Forum Guru
Posts: 11967
Joined: Tue Feb 25, 2014 12:49 pm
Location: Italy
Contact:

Re: Run script when ping on specific IP is detected

Thu Dec 01, 2022 7:39 pm

the user explained himself well, I don't know how you don't understand it...

he wants to run a script when the RouterBOARD sees an ECHO request packet from any IP to IP 10.1.1.1 pass through it


Create one rule like this, an on scheduler count if the rule is triggered at least once.
I do not do all the code, but you can start from this "idea".
/ip firewall raw
add action=log chain=prerouting comment="CHECK THIS" dst-address=10.1.1.1 icmp-options=8:0-255 protocol=icmp
Other way can be used, for example add to one address-list the IP that send the echo request, etc.
There is not only one way for do this.

But for sure the "ping" must pass inside the routerboard for detect something.
 
User avatar
TomjNorthIdaho
Forum Guru
Forum Guru
Posts: 1492
Joined: Mon Oct 04, 2010 11:25 pm
Location: North Idaho
Contact:

Re: Run script when ping on specific IP is detected

Thu Dec 01, 2022 8:00 pm

hmmm,

re: ... ping this IP the script will run ... ?

Some clarification is needed to fully understand what is wanted.
---- which is desired re this post ---
- ( # 1 ) If a local Mikrotik can ping an IP , then run a script on the local Mikrotik ?
- ( # 2 ) If a local Mikrotik pings a 2'nd remote Mikrotik , then have a script run on the 2'nd remote Mikrotik ?

#1 is pretty easy using Netwatch
#2 may require some programming tricks that I don't know. If I was trying to run a script on a 2'nd mikrotik , I think I would do something else closer to one of possible methods below:
- ( A) Have a local computer ( or device ) telnet/ssh into the 2'nd remote Mikrotik , then run the script on the 2'nd remote Mikrotik. I currently do something similar to this using a Linux server running some expect scripts.
- (B) , configure the 2'nd remote Mikrotik to have netwatch to run a script if a ping to something fails. The IP address for the 2'nd Mikrotik will netwatch ping might be a special IP address such as 192.0.2.88 -- then configure 192.0.2.88 on a device somewhere on your network. Drop the 192.0.2.88 IP address when you want the remote Mikrotik to run a script. This is actually a WatchDog function .
 
User avatar
rextended
Forum Guru
Forum Guru
Posts: 11967
Joined: Tue Feb 25, 2014 12:49 pm
Location: Italy
Contact:

Re: Run script when ping on specific IP is detected  [SOLVED]

Thu Dec 01, 2022 8:15 pm

you really still don't get it?

The title of the topic is extremely clear: "Run script when ping on specific IP is detected"

I wrote it clearly, maybe it's not the best English...

«he wants to execute a script when the RouterBOARD sees an ECHO request packet coming from any IP, directed to the IP 10.1.1.1»
 
drmotaadam
just joined
Topic Author
Posts: 11
Joined: Sat Nov 13, 2021 12:22 am

Re: Run script when ping on specific IP is detected

Thu Dec 01, 2022 11:29 pm

Thanks for your help, I needed that push that you gave me. Its working

Who is online

Users browsing this forum: ko00000000001 and 17 guests