项目实战--制作web管理锐捷交换机(一)

最近,我们学院刚刚进行了计算机设计大赛,我却没什么可以拿出手的,所以心里想敲一个web管理交换机信息系统,这个思路是由我们网络中心的老师提出的,他给我们展示了php连接交换机并进行一些配置,包括查看是否配置dot1x,我对这个是深深佩服,也对它比较痴迷,所以这几天每天做一个每日总结,总结的过程中学习。
首先,上一下代码,钱主任写的


$gwip=192.168.1.1;
$usenet = @fsockopen($gwip, 23, $errno, $errstr,1);//其中最后的1为超时时间
@stream_set_blocking($usenet, true);//定义让读取流程序阻塞运行,下一个未读取的字节出现前一直等待
@stream_set_timeout($usenet, 1);//定义阻塞等待时间为1秒
if($usenet)
{
    echo "##############################连接交换机成功!##############################
"
; } elseif(!$usenet) { echo "连接交换机失败!
"
; } if($usenet) { sleep(2); fputs($usenet,"admin\n"); sleep(2); fputs($usenet,"admin\n"); sleep(2); fputs($usenet,"enable\r\n"); sleep(2); // echo $ret=fgets($usenet)."
";
fputs($usenet,"admin\r\n"); sleep(2); //显示配置信息 fputs($usenet,"show run\r\n"); sleep(2); //vlan建立实例 /* fputs($usenet,"config\r\n"); sleep(1); fputs($usenet,"vlan 100\r\n"); sleep(1); fputs($usenet,"name dzu\r\n"); sleep(1); fputs($usenet,"exit\r\n"); sleep(1); fputs($usenet,"interface range gigabitEthernet 0/1 - 8\r\n"); sleep(1); fputs($usenet,"switchport access vlan 100\r\n"); sleep(1); fputs($usenet,"show vlan\r\n"); sleep(2); */ //实例结束 // echo $ret=fgets($usenet)."
";
//循环获取交换机返回信息 $i=0; $port_num=0; $check_start=0; $port_state=""; while($ret=fgets($usenet)) { $i++; //echo $i.">".$ret."
";
echo $ret."
"
; if(stripos($ret,"--More--")!==false) fputs($usenet," "); //如果返回是“--More--”则输入空格,让其显示所有信息 //以下检查端口是否受控实例 if(stripos($ret,"interface gigabitEthernet")!==false) { $check_start=1; $exp=explode("/",$ret); $str=intval($exp[1]); $port_num=$str; continue; } if($check_start==1) { //排除检测,如果为Trunk口、vlan 2、vlan 187、则不进行判断 if(strpos($ret,"trunk")!==false || strpos($ret,"vlan 2")!==false || strpos($ret,"vlan 187")!==false) { $check_start=0; continue; } if(strpos($ret,"!")!==false) //如果出现“!”号还没匹配dot1x的则认为端口不受控,并继续循环 { $check_start=0; echo "   端口".$port_num."不受控!
"
; $port_state.=$port_num.", "; continue; } if(strpos($ret,"dot1x port-control auto")!==false)//如果为dot1x端口则返回端口受控,并继续循环 { $check_start=0; //echo "端口".$port_num."受控!
";
continue; } } //实例结束 flush();//溢出缓存最新数据,快速输出返回结果 } fclose($usenet); } ?> "gb2312"
>

主要的就是这些函数

@fsockopen( gwip,23, g w i p , 23 , errno, $errstr,1);//其中最后的1为超时时间

这个函数是定义的连接,sock,通过23端口连接交换机的一个函数

@stream_set_blocking($usenet, true);//定义让读取流程序阻塞运行,下一个未读取的字节出现前一直等待

@stream_set_timeout($usenet, 1);//定义阻塞等待时间为1秒

flush();//溢出缓存最新数据,快速输出返回结果

我今天做的事呢,就是在这个基础的模板上,创建几个变量,把ip,password和enable密码做了一个变量,然后另外敲了一个form表单,把ip,password,enable做了一个input输入框,可以通过输入ip,password密码,enable密码来进行web控制交换机。
项目实战--制作web管理锐捷交换机(一)_第1张图片
然后,我还做了一半后台登陆界面,没有图片验证码,后面会加上,以防止暴力破解。
项目实战--制作web管理锐捷交换机(一)_第2张图片

 

?>
<html>
<head>
<meta charset="gb2312">
<title>登陆title>
<style>
body{
    background-image:url(img/bj.jpg);
}
.ht{
    height:350px;
    width:450px;
    border-radius:5px;
    position: absolute;
    top: 30%;   
    left: 35%;
}
.mc{
    height:50px;
    width:450px;
    color:#fff;
    font-size:27px;
    text-align:right;
}
.zt{
    background-color:#fff;
    border-radius:5px;
    height:300px;
    width:450px;
}
.zt input{
    margin:20px;
    width:90%;
    height:20%;
    border-radius:10px;
    font-size:30px;
}
.zt button{
    width:90%;
    height:20%;
    background-color:#66D354;
    margin-left:20px;
    border-radius:20px;
    margin-top:15px;
}
style>
head>
<body>
<div class="ht">
<div class="mc">
  交换机管理系统
div>
<div class="zt">
<form action="logincheck.php" method="post">
 <input type="text" name="user" placeholder="用户名">
 <input type="password" name="password" placeholder="密码">
 <button name="submit">登陆button>
form>
div>
div>
body>
html>

这个是我借鉴的js代码,通过选取按钮进入页面
项目实战--制作web管理锐捷交换机(一)_第3张图片


                    
                    

你可能感兴趣的:(项目实战)