Useful Functions

From Observer GigaFlow Support | VIAVI Solutions Inc.
Revision as of 08:40, 29 May 2017 by Kevin Wilkie (Talk | contribs)

Jump to: navigation, search

Sleep

function sleep(delay) {
 var start = new Date().getTime();
 while (new Date().getTime() < start + delay);
}

Adding Attributes, automaticaly creating the category if it doesn't exists

actions.addIPAttribute("172.21.40.14","State","New York"); //Add "New York" Attribute to "State" category for this ip 
actions.addMACAttribute("a4:ba:db:ff:18:bc","State","Washington"); //Add "Washington" Attribute to "State" category for this mac 
actions.addMACAttribute("a4:ba:db:ff:18:bc","City","Colorado");


Base64 encoding and decoding

var utils = Java.type('ros.CROSUtils');
var user='Kevin'
var password = '!£$%^&*()1234kevin'
var encodeduser=utils.base64EncodeString(user);
var encodedpass=utils.base64EncodeString(password);
var decodeduser=utils.base64DecodeString(encodeduser);
var decodedpass=utils.base64DecodeString(encodedpass);
log.warn("user:"+user+" password:"+password+" encodeduser:"+encodeduser+" encodedpass:"+encodedpass)
log.warn("user:"+user+" password:"+password+" decodeduser:"+decodeduser+" decodedpass:"+decodedpass)
//Output= user:Kevin password:!£$%^&*()1234kevin encodeduser:S2V2aW4= encodedpass:IcKjJCVeJiooKTEyMzRrZXZpbg==
//Output= user:Kevin password:!£$%^&*()1234kevin decodeduser:Kevin decodedpass:!£$%^&*()1234kevin

Http Post with attributes

var utils = Java.type('ros.CROSUtils');
var thisurl = 'https://jsonplaceholder.typicode.com/posts/1';
var user='Kevin'
var password = '!£$%^&*()1234kevin'
var encodeduser=utils.base64EncodeString(user);
var encodedpass=utils.base64EncodeString(password);
var decodeduser=utils.base64DecodeString(encodeduser);
var decodedpass=utils.base64DecodeString(encodedpass);
log.warn("user:"+user+" password:"+password+" encodeduser:"+encodeduser+" encodedpass:"+encodedpass)
log.warn("user:"+user+" password:"+password+" decodeduser:"+decodeduser+" decodedpass:"+decodedpass)
//log.warn(utils.HTTPSClientGet(thisurl))
log.warn(utils.HTTPSClientPost("http://jsonplaceholder.typicode.com/posts",[["title","fook"],["body","bark"],["userId","1"]]));


Live DNS lookups

var InetSocketAddress = Java.type('java.net.InetSocketAddress');
var hostname = new InetSocketAddress("172.21.40.14",0).getAddress().getCanonicalHostName();
log.warn(hostname);

Cached DNS lookups

var hostname = actions.dnsCache.resolve("172.21.40.14").name;
log.warn(hostname);

See if an ip address is within a range using isIPInRange function

var utils = Java.type('ros.CROSUtils');
log.warn("new arp "+ data.get("display")+" "+data.get("ifdisplay")+" "+data.get("ip")+" "+data.get("macAddress")+" "+data.get("seenIPAddress")+ " "+utils.isIPInRange(data.get("seenIPAddress"),"172.21.40.0","172.21.40.254"));

Sending Syslog Messages

actions.ros.getSyslogSender().send("test");