if you do a discover network...
and then delete the network map after the discovery is done.
it crashes and keeps crashing...
uninstall, install made it work again
I suppose in reference to http://www.imdb.com/title/tt0118715/BTW, why's it called "the dude" ?
Ok, so how early is this beta?
- How can I upload files to the server?
- How can I import network maps (i.e. "background images")?
- Is the web access supposed to work when enabled (I get an 403 forbidden)?
You cannot install anything on a machine running RouterOS. I guess that MT may implement a version included in RouterOS (like the bandwidth tester) in the future.I have dude installed on the pc but cant install on router?
Dont see anywhere how to install on the router so it will run as the server and my pc as the client?
I read the usage notes but didnt see it there.
I know this is very basic but so am I.
thanks
Cindy
<?
function GetData($arr) {
$ret = array();
foreach ($arr as $i) {
$a = explode(".", $i, 2);
$b = explode(" = ", $a[1], 2);
$c = explode(" ", $b[1], 2);
if (count($c) < 2) { print "DEBUG: var i: $i"; }
$ret[$b[0]] = $c[1];
}
return $ret;
}
function cidr($val) {
$num = 8;
for ($i = 0; $i < 8; $i++) {
$x = (intval($val) >> $i)&1;
if ($x == 1) {
return $num;
}
$num--;
}
return $num;
}
function NetmaskToCIDR($mask) {
$a = explode(".", $mask, 4);
return cidr($a[0]) + cidr($a[1]) + cidr($a[2]) + cidr($a[3]);
}
function ArraySearch($arr, $val) {
$ret = array();
foreach ($arr as $key => $i){
if ($i == $val) {
$ret[$key] = $i;
} else {
// print_r("$i != $val for $key\n");
}
}
return $ret;
}
function ArrayIntersect($arr1, $arr2) {
$ret = array();
foreach ($arr1 as $key => $i) {
$ret[$key] = $arr2[$key];
}
return $ret;
}
function netmask($val) {
$ret = 0;
for ($i = 0; $i <= $val; $i++) {
$ret <<= 1;
$ret |= 1;
}
$ret <<= 32-$val;
return $ret;
}
function IPinNet($address, $mask) {
$i = explode(".", $mask, 4);
$b = explode(".", $address, 4);
$b[0] = intval($b[0]) & intval($i[0]);
$b[1] = intval($b[1]) & intval($i[1]);
$b[2] = intval($b[2]) & intval($i[2]);
$b[3] = intval($b[3]) & intval($i[3]);
return implode(".", $b);
}
function PrintNet($arr) {
foreach ($arr as $key => $i) {
print $key."/".$i."\n";
}
}
function GetInfo($host, $community, $parent = array()) {
$cmd = '/usr/local/bin/snmpwalk -v1 -c '.$community.' '.$host.' ';
$ret = array();
$ret["called_ip"] = $host;
$ret["address"] = array();
$ret["ips"] = array();
$ret["type"] = "router";
$ret["id"] = "";
$ret["childs"] = array();
$ret["peers"] = array();
$arr = array();
exec($cmd.'.1.3.6.1.2.1.4.21.1.7',$arr,$val);
if ($val) { return $ret; }
$a = GetData($arr);
$a = array_values(array_unique($a));
$ret["peers"] = $a;
$arr = array();
exec($cmd.'.1.3.6.1.2.1.4.20.1.1',$arr);
$a = GetData($arr);
$arr = array();
exec($cmd.'.1.3.6.1.2.1.4.20.1.3',$arr);
$b = GetData($arr);
foreach($a as $key => $val) {
$ret["address"][] = array( "ip" => $val,
"mask" => $b[$key],
"cidr" => NetmaskToCIDR($b[$key]),
"net" => IPinNet($val, $b[$key])
);
$ret["ips"][] = $val;
}
$arr = array();
exec($cmd.'.1.3.6.1.2.1.1.6.0',$arr);
$a = GetData($arr);
$ret["type"] = $a[0];
$arr = array();
exec($cmd.'.1.3.6.1.2.1.1.5.0',$arr);
$a = GetData($arr);
$ret["id"] = $a[0];
foreach ($ret["peers"] as $ip) {
if (array_search($ip,$parent) === false &&
$ip != "0.0.0.0") { $ret["childs"][] = GetInfo($ip, $community, $ret["ips"]); }
}
return $ret;
}
function SimpleMap($net, &$cx, &$cy) {
global $size;
$ret = array();
$cx += 13*2;
$ox = $cx + 97;
$dx = $ox;
foreach($net as $host) {
$ret[] = array( "ip" => $host["called_ip"],
"x" => $cx,
"type" => $host["type"],
"childs"=> SimpleMap($host["childs"], $dx, $cy),
"y" => $cy
);
$cy += $size[$host["type"]]["y"]+13*2;
$dx = $ox;
}
return $ret;
}
function ExtractHosts($net, &$hosts) {
foreach($net as $host) {
$hosts[$host["called_ip"]] = array(
"called_ip" => $host["called_ip"],
"address" => $host["address"],
"ips" => $host["ips"],
"type" => $host["type"],
"id" => $host["id"],
"peers" => $host["peers"]
);
foreach ($host["ips"] as $ip) {
$hosts[$ip] = &$hosts[$host["called_ip"]];
}
ExtractHosts($host["childs"], $hosts);
}
}
$image_router = imagecreatefrompng("router.png");
$image_nas = imagecreatefrompng("nas.png");
$size["router"]["x"] = 97;
$size["router"]["y"] = 97;
$size["nas"]["x"] = 97;
$size["nas"]["y"] = 87;
function DrawTree($img, $map, $hosts) {
global $image_router, $image_nas;
}
$net = GetInfo("host", "community");
print_r($net);
//$cx = 0; $cy = 0;
//$map = SimpleMap(array($net), $cx, $cy);
//$hosts = array();
//ExtractHosts(array($net), $hosts);
//print_r($net);
//print_r($map);
?>
In next version this will be fixed. To make these probes to work read note.Also, probes for SMTP and POP3 servers don't seem to work. It reports them as down when they are up.
This feature is already added in the future feature list.Thanks for your replies uldis.
I have a feature suggestion, cascading error reports/alarms. This is where a device can be set as say, a "child" of a another device so that if the parent fails, testing of the child is suspended.
Maybe it's just in my particular network but this is a really big deal for me. When using paging as the notification method, if the router that connects the NMS PC to the rest of the network, for example, fails I get a message for every device. I just want one to say that that particular router has failed.
'Hope you can include this feature.
Look in this topic for download link:where to download file for test snmp logging?
10x
There's way to make it :)No, we will not add this, because The Dude is made for RouterOS v2.9. And in v2.9 there is no need to change the Winbox port.Can I set the winbox port?
Please install the new version of the Dude v0.1beta1-4, that should fix this bug. There are some new features also. Look here for more info:I've got 46 dudes. Or I have one dude and 45 error windows. Something like that. Somewhat inconvenient. Where do I report? (Each of the windows is titled "Error, please report". Here I see:
BUG in dude version 0.1beta1: ASSERT 0 failed in unsigned int Allocator::allocate() at common/alloc.cpp:139
When I clicked ok to get rid of one, all disappeared and the dude went away. bye to my beautiful network map.
What was I doing when dude died? I was scanning 10.16.0.16/16. Maybe the range was too big? I started scanning 10.0.0.0/8 and didn't get far very quickly.
Maybe the dude is out of cream for his White Russian?
The discovery is working - it is sending the ICMP packets to discover new devices, if the ICMP packets are blocked then it will not find any device. Novadays most ISPs blocks or limits the count of ICMP traffic.I notice that you guys added a lot of new features to the program from requests of posters here. Thats very nice. You guys are on top of things.
Thanks
To make auto discover with the box device discovery, the only numbers it will take are 0.0.0.0/0. My network is actually 64.125.xxx.xx/26 on the wan and I am trying to view this from home. The router is located at a hotel far from here. What am I doing wrong?
thanks
Cindy
I don't understand this request. What is different in the Dude ?Hi mate
In whatsup Gold you see up and downtime of device. means you can see the reports of devices monthly and weekly bases. what Dude is showing in History of link interface not in devices.
Is there any way i can see up and down reports in Dude such as Whatsup Gold
Thanks
Abbas
Click on the map "settings" button, then click "outages". Is this what you are looking for ?Hi Normic for swift response,
actually we are using whatsup Gold to monitor all networks, In whatsup Gold we can see devices reports such as this PC-1 were down at 12th Noc 2015 between 4 to 6PM something like this.