编者按:由于原网管离职,导致整个企业的网络部署环境处于未知状态,如何才能快速掌握网络拓扑呢?
本篇以工作实践为基础,介绍了攻克陌生网络的解决办法。其实,对于网络管理员来说,特别是需要进一步提升的人来说,除了要熟悉路由、交换命令外,还需要掌握EXCEL、SQL等文档工具,因为这有利于对网络拓扑图文档的整理。
上篇:如何快速获取交换机拓扑信息?
下篇:利用EXCEL、SQL,进行网络拓扑整理
【IT168 专稿】作为一名网络管理员,工作中接触的网络无非就两种,一种是“熟网”,所谓“熟网”就是这个网络是自己从无到有一步一步建立起来的,网线上面的每个网头,交换机端口上的每一个标签都是自己亲手做的,这样的网络肯定特别熟悉,即使出了问题也可以很快的找到故障点并加以解决,另一种是“生网”,什么是“生网”呢?
也无外乎这么几种情况:一是由于随着工作中业务能力的增强,单位领导给安排的新任务,二是由于原来管理这个网络的人由于某种原因离职了,丢下了这个烫手的山芋,还有可能是由于工作中的新任务,去开通一个新网络,甚至是帮朋友的忙。总之,工作中什么情况都可能发生,遇到“生网”,我们首先要做的事就是摸清网络结构,下面我以一个具体的例子来说明如何迅速的搞清一台以CISCO3550交换机为核心交换机组网的网络环境中的拓扑结构。
在一个陌生的网络环境中,我们要尽可能多的了解一些消息,比如网络中的IP地址分配表、网络拓扑图等。那么在这个案例中,我们可以得到的信息有哪些呢:一份IP地址分配表(里面有交换机上的端口与IP及具体设备的对应关系,但是里面有些内容肯定不准确的了),我们在机房中实际观察所大概了解到的网络连接情况(肯定是不完整的了),我们还可以利用内网的一台电脑TELNET到这台CISCO3550交换机上,这台电脑安装有WORD、EXCEL等软件及可以连接到一个SQL SERVER2000的数据库上。
那么对我们的操作有什么要求及限制呢:那就是不允许动网络的任何物理部分,因为这是一个正在运行的网络,任何一点对网络的触动都有可能造成网络的中断,从而影响网络上运行的业务,这是绝对不允许的。虽然被捆住了手脚,但是我们仍然可以大干一番,并且最终还漂亮的完成了任务,画出了网络拓扑图,理清了交换机端口上所连接的网络设备,具体的操作分三步进行。
一、将相应的信息在WORD和EXCEL中进行整理
由于本次操作的数据量比较大,我们可以借助SQL SERVER2000数据库来完成一些统计工作,但是前提是将取得的信息转换为能在SQL SERVER中能够处理的内容。所以我们需要将得到信息在WORD和EXCEL中进行整理,转换为SQL SERVER能够导入的数据格式,这里主要涉及到WORD中一个非常实用的功能文本转换为表格,如图所示:

这是我对show mac-add所显示的信息执行的一次转换操作,这样就可以把所列的各个项“Vlan Mac Address Type Ports”分隔开,再将表格复制到EXCEL中,用这个方法将show mac-add和show ip arp所显示的信息分别存为showmac.xls和showiparp.xls文件,生成了xls文件,我们就可以在SQL SERVER中进行导入数据的操作了。
二、在SQL SERVER中对数据进行处理,得到所需的信息
(一)导入EXCEL文件
首先我们在SQL SERVER中新建一个库“switchcx”,在库中新建两个表
show ip arp和showmac,属性如图所示:

然后再分别进行导入,以导入showiparp表为例:
在“switchcx”数据库上点右键,选择“所有任务”-“导入数据”-“数据源”选择“Microsoft Excel 97-2000”,文件名选择刚才创建的EXCEL文件:
在导入/导出向导中,要注意选择正确的数据库,本例中是“switchcx”:
在选择源表和视图中要注意,EXCEL我们中需选择第一个工作表即可,另外在“目的”中,要选择正确的表,本例中我们是使用的showiparp表:

然后的步骤就是点“下一步”,直到“完成”就可以了。
最后我们可以看一下导入的表:

用相同的办法,我们得到了showmac表。
(二)在数据库执行“连接”操作
要得到我们所需要的结果(IP地址与端口的对应关系),需要对两个相关联的表进行操作,就要使用到“连接”操作,是select语句的一种。祥子也是参加过数据库的系统培训,但是有些命令有时还是记不牢,没关系,到时候看看联机的帮助信息就可以了,比如执行对于两个表的查询时,刚开始命令没写对,出现了
“服务器: 消息 107,级别 16,状态 3,行 1
列前缀 'showiparp' 与查询中所用的表名或别名不匹配。”
的错误提示,那就查一下select语句中的from用法吧,在帮助中看到from的例子有如下一段:
USE pubs
SELECT RTRIM(a.au_fname) + ' ' + LTRIM(a.au_lname) AS Name, d1.title_id
FROM authors a, (SELECT title_id, au_id FROM titleauthor) AS d1
WHERE a.au_id = d1.au_id
ORDER BY a.au_lname, a.au_fname
其中有“FROM authors a”这么一行语句,就回忆起引用的表要定义一个别名的相关内容了,把select语句重新修改一下,就得到正确的结果:
在显示的结果中,我们看到既可以通过给定的IP地址找到这个IP所对应的端口号,又可以给定一个端口号,查找这个端口所带的IP地址。
利用这个办法,我们就可以快速的搞清这台CISCO3550交换机的网络拓扑,从而要以顺利的开展下一步的工作打下了基础。
以后看NBA的转播,说乔丹之所以在场上表现这么神勇,只不过是在最适当的时间使用了最适当的基础动作。本次案例的操作也都是使用的一些常用软件的基本操作,但是在具体的网络工程中,善于运用手头现有的资源,合理加以组合,也是可以很好的完成工作的,记录下这一次的工程实践,与大家分享。