文章列表
 
2012-05-14 10:14

//using System.Management;            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");             ManagementObjectCollection nics = mc.GetInstances();             foreach (ManagementObject nic in nics)             {                 if (Convert.ToBoolean(nic["ipEnabled"]) == true)                 {                     MessageBox.Show((nic["IPAddress"] as String[])[0]);                     MessageBox.Show((nic["IPSubnet"] as String[])[0]);                     MessageBox.Show((nic["DefaultIPGateway"] as String[])[0]);                 }             }

 
2012-05-14 10:10

/// <summary>
/// 得到本机IP
/// </summary>
privatestringGetLocalIP()
{
//本机IP地址
stringstrLocalIP = "";
//得到计算机名
stringstrPcName = Dns.GetHostName();
//得到本机IP地址数组
IPHostEntry ipEntry = Dns.GetHostEntry(strPcName);
//遍历数组
foreach(var IPadd inipEntry.AddressList)
{
//判断当前字符串是否为正确IP地址
if(IsRightIP(IPadd.ToString()))
{
//得到本地IP地址
strLocalIP = IPadd.ToString();
//结束循环
break;
}
}
//返回本地IP地址
returnstrLocalIP;
}

  

//得到网关地址
privatestringGetGateway()
{
//网关地址
stringstrGateway = "";
//获取所有网卡
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
//遍历数组
foreach(var netWork innics)
{
//单个网卡的IP对象
IPInterfaceProperties ip = netWork.GetIPProperties();
//获取该IP对象的网关
GatewayIPAddressInformationCollection gateways = ip.GatewayAddresses;
foreach(var gateWay ingateways)
{
//如果能够Ping通网关
if(IsPingIP(gateWay.Address.ToString()))
{
//得到网关地址
strGateway = gateWay.Address.ToString();
//跳出循环
break;
}
}
//如果已经得到网关地址
if(strGateway.Length > 0)
{
//跳出循环
break;
}
}
//返回网关地址
returnstrGateway;
}

  

/// <summary>
/// 判断是否为正确的IP地址
/// </summary>
/// <param name="strIPadd">需要判断的字符串</param>
/// <returns>true = 是 false = 否</returns>
publicstaticboolIsRightIP(stringstrIPadd)
{
//利用正则表达式判断字符串是否符合IPv4格式
if(Regex.IsMatch(strIPadd, "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"))
{
//根据小数点分拆字符串
string[] ips = strIPadd.Split('.');
if(ips.Length == 4 || ips.Length == 6)
{
//如果符合IPv4规则
if(System.Int32.Parse(ips[0]) < 256 && System.Int32.Parse(ips[1]) < 256 & System.Int32.Parse(ips[2]) < 256 & System.Int32.Parse(ips[3]) < 256)
//正确
returntrue;
//如果不符合
else
//错误
returnfalse;
}
else
//错误
returnfalse;
}
else
//错误
returnfalse;
}

  

/// <summary>
/// 尝试Ping指定IP是否能够Ping通
/// </summary>
/// <param name="strIP">指定IP</param>
/// <returns>true 是 false 否</returns>
publicstaticboolIsPingIP(stringstrIP)
{
try
{
//创建Ping对象
Ping ping = newPing();
//接受Ping返回值
PingReply reply = ping.Send(strIP, 1000);
//Ping通
returntrue;
}
catch
{
//Ping失败
returnfalse;
}
}

  

 
2012-01-24 2:03

理想目标:1、通过CISO考试,获得CCNP证书。最低目标:如果CCNP比想象中要难/没时间/舍不得花钱的话,CCNA应该没问题吧?

理想目标:在一本书没读完之前,不开始读下一本。保持到年底。最低目标:看10本真正的书。技术书不算。

理想目标:理解XML,HTML5,CSS,设计模式。最低目标:了解XML,HTML5,CSS,设计模式。有哪些功能,在哪里能用到。

理想目标:也许今年家里能添置一台苹果电脑,有必要了解一下IOS编程的情况。最低目标:起码得知道怎么写IOS设备看的网页。

理想目标:无论采用何种方式,挣点工资之外的收入;最低目标:不管挣没挣到,想办法去挣了。

理想目标:把字能练得好一点;最低目标:每天认真练了。

理想目标:理财;最低目标:记账。

理想目标:减肥到80公斤;最低目标:减肥到85公斤。

理想目标:练练写作,文笔优美;最低目标:讲道理明晰。

理想目标:练练口才,能说会道;最低目标:吐字清晰。

理想目标:升职;最低目标:加薪。

 

 
2011-12-04 9:45

基于源地址的策略路由

配置概述:

路由器A将192.1.1.1来的所有数据从接口S0发出,而将从192.1.1.2来的所有数据从接口S1发出。

路由器A定义几个二级接口作为测试点。路由器A和B配置RIP.在A的ETHERNET接口上应用IP策略路由图LAB1,为从192.168.1.1来的数据设置下一跳接口为S0,为从192..1.1.2来的数位设置下一跳接口为S1,所有其他的报文将用基于目的地址的路由。

路由器配置:

ROUTE A:

Version 11.2

No service udp-small-servers

No service tcp-small-servers

Hostname routerA

Interface ethernet0

Ip address 192.1.1.1 255.255.255.0 secondary

Ip address 192.1.1.2 255.255.255.0 secondary

Ip address 192.1.1.3 255.255.255.0 secondary

Ip address 192.1.1.10 255.255.255.0

Ip policy route-map lab1

//策略路由应用于E0口

interface serial0

ip addr 150.1.1.1 255.255.255.0

interface serial1

ip addr 151.1.1.1 255.255.255.0

router rip

network 192.1.1.0

network 150.1.0.0

network 151.1.0.0

ip local policy route-map lab1

//使路由器策略路由本地产生报文

no ip classless

access-list 1 permit 192.1.1.1

access-list 2 permit 192.1.1.2

route-map lab1 permit 10

//定义策略路由图名称:LAB1,10为序号,用来标明被匹配的路由顺序。

Match ip address 1

//匹配地址为访问列表1

Set interface serial0

//匹配下一跳为S0

Route-map lab1 permit 20

Match ip address 2

Set interface serial1

Line con0

Line aux0

Line vty 0 4

Login

End

 
2011-12-04 9:34

route map实现多ISP Internet接入

第一步:进入配置模式:
ROUTER>EN
ROUTER#CONFIG T

第二步:配置端口
/*
接局域网*/
Router(Config)>int fa 0/0
Router(Config-if)>ip addr 192.168.0.1 255.255.255.0
Router(Config-if)>no shut
Router(Config-if)>ip nat inside

/*
ISP1网口*/
Router(Config-if)>int fa 0/1
Router(Config-if)>ip addr 168.168.18.158 255.255.255.252
Router(Config-if)>no shut
Router(Config-if)>ip nat outside

/*
ISP2网口*/
Router(Config-if)>int s1/0
Router(Config-if)>ip addr 68.18.18.2 255.255.255.224
Router(Config-if)>no shut
Router(Config-if)>ip nat outside

第三步:设置NAT地址池
Router(Config)>Ip Nat Pool Isp1_pool 218.18.18.2 218.18.18.6 Netmask 255.255.255.224
Router(Config)>Ip Nat Pool Isp2_pool 68.18.18.4 68.18.18.10 Netmask 255.255.255.224

第四步:设置访问控制列表和NAT转换规则
Router(Config)>Access-list 100 permit Ip 192.168.0.0 0.0.0.255 any
Router(Config)>Ip Nat Inside Source Route-map Isp1 Pool Isp1_pool
Router(Config)>Ip Nat Inside Source Route-map Isp2 Pool Isp2_pool

第五步:设置ROUTE MAP规则
Router(Config)>Route-map Isp1 Permit 10
Router(Config-route-map)>Match Ip address 100
Router(Config-route-map)>Match Int Fa 0/1

Router(Config)>Route-map Isp2 Permit 10
Router(Config-route-map)>Match Ip address 100
Router(Config-route-map)>Match Int S1/0

第六步:设置浮动静态路由
Router(Config)>Ip Route 0.0.0.0 0.0.0.0 168.168.18.157
Router(Config)>Ip Route 0.0.0.0 0.0.0.0 68.18.18.1 20

第七步:结束并保存配置:
Router(Config)>end
Router#Copy Ru St

 
   
 
 
文章存档
 
     
 
最新文章评论
  

目标好多。。。
 

如果你不定义__set(),你会发现所有的属性都是只读。
 

回复spirit231: $this->$property_name里的$号必须有。有的话,这个表达式表示的是
 

还有,既然__get能取到值,那直接修改就好了,何必用__set呢,而且我试过,用__get也
 

$this->$property_name 里应该没有第二个$,你总结的话很经典,高度概括
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu