include("../cacti/include/global.php");
判斷session 是否存在即可
$_SESSION["sess_user_id"]
安裝 Superlinks 外掛套件, 主要功能快速增加頁簽的超連結
在Console > External Links 增加一個頁簽 Session, 連結指向你的PHP程式
按Session , 測試看看$_SESSION["sess_user_id"]
http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
http-equiv="Pragma" content="no-cache" />
http-equiv="Expires" content="0" />
#wget -O ntop-20121031-2350.php "http://127.0.0.1:3000/dumpData.html?language=php&view=short"
$ntopHash = array(
'192.168.1.1' => array(
'hostSymIpAddress' => 'xxx.ntop.org',
'pktSent' => '1031',
'pktRcvd' => '922',
...
'icmpRcvd' => '0',
),
...
<?php
function getExtreme($cmd,$ip,$arg='')
{
switch ($cmd)
{
case "fdb":
#取得MAC位置
$cmdString="show fdb \n \n" ;
break;
case "setdenymac":
#設定ACL
$aclName="deny-$arg";
$mac=preg_replace('/-/', ':',$arg);
$cmdString=" create access-list $aclName \"ethernet-source-address $mac\" \"deny\" \n
configure access-list add \"$aclName\" first any \n ";
break;
case "deldenymac":
#刪除ACL
$aclName="deny-$arg";
$mac=preg_replace('/-/', ':',$arg);
$cmdString="configure access-list delete \"$aclName\" any \n
delete access-list \"$aclName\" \n ";
break;
default:
return null;
}
ini_set("expect.timeout", 3);
ini_set("expect.loguser", "Off");
##訂定常數
@define("LOGIN", 'login:');
@define("PASSWORD", 'password:');
@define("SHELL", '#');
@define("YESNO",'(y/N)');
#EXP_EXACT ..
## login get data
$stream = fopen("expect://telnet $ip", "r");
#$stream = expect_popen("telnet $ip");
$status=1;
while ($status) {
switch (expect_expectl ($stream, array (
array ('login:', 1 => LOGIN),
array ('password:', 1 => PASSWORD),
array ('#', 1 => SHELL, EXP_EXACT),
array ('(y/N)', 1 => YESNO)
),$result))
{
case @LOGIN:
fwrite ($stream, "cmdadmin\n");
#echo "login\n" ;
break;
case @PASSWORD:
fwrite ($stream, "cmdadminpw\n");
#echo "password\n" ;
break;
case @SHELL:
#echo 'shell';
fwrite ($stream, $cmdString);
sleep(1);
fwrite ($stream, "exit\ny\n");
break 2;
case @YESNO:
fwrite ($stream, "y\n");
#echo "YESNO\n" ;
break;
case @EXP_TIMEOUT:
case @EXP_EOF:
$status=0;
break 2;
default:
die ("Error has occurred!\n");
break;
}
}
## get output messages
$line = stream_get_contents($stream) ;
fclose ($stream);
switch ($cmd)
{
case "fdb" :
## next page
$tag="/ \[7mPress <SPACE> to continue or <Q> to quit: \[m \[60;D \[K/";
$line = preg_replace($tag, '', $line);
# ascii 0d 0a
$log = explode("\r\n",$line);
$fdblist = '';
$pattern = "/([a-f0-9]{2}:){5}[a-f0-9]{2}/";
for ($i=0; $i<count($log); $i++)
{
if (preg_match($pattern,$log[$i]))
{
#replace muitl space
$log[$i]=preg_replace('/\s\s+/', ' ',$log[$i]);
$fdblist[$i]=explode(' ',$log[$i]);
}
}
return $fdblist;
break;
default:
return true;
}
}
?>
print_r(getExtreme('fdb', '192.168.200.253')
#抓取有IP 192.168.200.253線上MAC(將Switch列在清單,就能一次取得線上所有主機MAC
使用方法:
XOS run python scripts v15.7 or high 將交換器上的 IP & MAC 往syslog 丟, 簡單將IP資料保留下 ## 編緝Scripts # vi ip2syslog.py #!/usr/bin/python # ...