命令行下绘制网络拓扑图

Author:

陈景峰 (ㄔㄣ ㄐㄧㄥ ㄈㄥ)

Nickname:netkiller | English name: Neo chen | Nippon name: ちんけいほう (音訳) | Korean name: 천징봉 | Thailand name: ภูมิภาพภูเขา

Callsign: BG7NYT | QTH: ZONE CQ24 ITU44 ShenZhen, China

Homepage:

http://netkiller.sourceforge.net/

http://netkiller.github.com/

 

下面是我多年积累下来的经验整理文档供大家参考,欢迎您对我的文档提出建议和意见。

 

 

Netkiller Architect 手札 Netkiller Linux 手札 Netkiller Developer 手札 Netkiller Database 手札
Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札
Netkiller Web 手札 Netkiller Monitoring 手札 Netkiller Storage 手札 Netkiller Mail System 手札
Netkiller MySQL 手札 Netkiller LDAP 手札 Netkiller Security 手札 Netkiller Version 手札
Netkiller Intranet 手札 Netkiller Cisco IOS 手札 Netkiller Writer 手札 Netkiller Studio Linux 手札

 

 

可以结合nmap,netcap 库等等做,自动发现,并绘制图

还可以实现ping,tracepath等到达情况显示,总之可以做很多东西。

 

neo@neo-OptiPlex-380:~/Test/Graphviz$ cat network.gv

 

digraph network {

 

ranksep=5;

ratio=auto;

 

graph [

rankdir = "LR"

];

 

node [color=lightblue, style=filled];

"idc";

subgraph firewall {

        rank = same;

        node[shape=box,color=green];

        "ASA5550-Master" [ label="ASA5550-A|SSM-4GE-INC",shape="record",style="filled",color="green" ];

        "ASA5550-Slave" [ label="ASA5550-B",shape="hexagon",style="filled",color="green" ];

        "ASA5550-Master"->"ASA5550-Slave" [label="Failover"];

        "ASA5550-Master"->idc

        "ASA5550-Slave"->idc

}

 

subgraph switch {

        rank = same;

 

        "SW4507RA" [label="Cisco Catalyst 4507R|WS-X4648-RJ45V+E|WS-X4606-X2-E|WS-X45-SUP7-E|WS-X4712-SFP+E" shape = "record"];

        "SW4507RB" [label="Cisco Catalyst 4507R" shape = "record"];

        "SW4507RA"->"SW4507RB" [label="HSRP"];

        "ASA5550-Master"->"SW4507RA" [label="1GB"];

        "ASA5550-Slave"->"SW4507RB" [label="1GB"];

 

        "SW4507RA"->O8

        "SW4507RB"->O8

 

        "O8"->O4

        "O8"->O7

        "O8"->O9

 

        "SW4507RA"->J9 [ label = "SFP+ 10G" ];

        "SW4507RA"->J10;

        "SW4507RA"->J11;

        "SW4507RA"->J12;

        "SW4507RA"->J13;

        "SW4507RA"->J14;

        "SW4507RA"->J15;

        "SW4507RA"->M12;

 

        "SW4507RB"->J9;

        "SW4507RB"->J10;

        "SW4507RB"->J11;

        "SW4507RB"->J12;

        "SW4507RB"->J13;

        "SW4507RB"->J14;

        "SW4507RB"->J15;

        "SW4507RB"->M12;

}

 

subgraph slb {

        rank = 2;

        slb1 [label="F5-Master",shape=circle];

        slb2 [label="F5-Backup",shape=circle];

        slb1->"SW4507RA";

        slb2->"SW4507RB";

        slb1->slb2 [label="VRRP"];

"10.10.0.3"    [label="cms.example.com preview.example.com publish.example.com"];

"10.10.0.4"    [label="media.example.com"];

"10.10.0.5"    [label="portal.example.com my.example.com login.example.com"];

"10.10.0.6"    [label="sso.example.com"];

 

slb1->"10.10.0.3"

slb1->"10.10.0.4"

slb1->"10.10.0.5"

slb1->"10.10.0.6"

slb1->"10.10.0.7"

slb1->"10.10.0.8"

slb1->"10.10.0.9"

 

}

subgraph service {

        nfs [label="NFSv4 NAS"];

        server->nfs;

}

 

subgraph server {

        rank = same;

        "10.10.10.2" [label="Monitor"];

        "10.10.10.3" [label="Backup"];

}

 

subgraph lvs {

        "10.10.10.6";

 

}

 

 

"O9"->"10.10.10.2" [label="Monitor"];

"O9"->"10.10.10.3" [label="Backup"];

"O9"->"10.10.10.5";

"O9"->"10.10.10.7";

"O9"->"10.10.10.14";

"O9"->"10.10.10.15";

"O9"->"10.10.10.11";

"O9"->"10.10.10.12";

"O9"->"10.10.10.27";

"O9"->"10.10.10.28";

"O9"->"10.10.10.71";

"O9"->"10.10.10.72";

 

"O8"->"10.10.10.20";

"O8"->"10.10.10.23";

"O8"->"10.10.10.19";

"O8"->"10.10.10.10";

"O8"->"10.10.10.74";

"O8"->"10.10.10.74";

"O8"->"10.10.10.75";

"O8"->"10.10.10.76";

"O8"->"10.10.10.216";

 

"O7"->"10.10.10.16";

"O7"->"10.10.10.46";

"O7"->"10.10.10.47";

"O7"->"10.10.10.48";

 

"O4"->"10.10.10.41";

"O4"->"10.10.10.42";

"O4"->"10.10.10.54";

 

 

"J9"->"10.10.0.21";

"J9"->"10.10.0.22";

"J9"->"10.10.0.23";

"J9"->"10.10.0.24";

"J9"->"10.10.0.25";

"J9"->"10.10.0.26";

"J9"->"10.10.0.27";

"J9"->"10.10.0.28";

"J9"->"10.10.0.29";

"J9"->"10.10.0.30";

"J9"->"10.10.0.31";

"J9"->"10.10.0.32";

 

"J10"->"10.10.0.41";

"J10"->"10.10.0.42";

"J10"->"10.10.0.43";

"J10"->"10.10.0.44";

"J10"->"10.10.0.45";

"J10"->"10.10.0.46";

"J10"->"10.10.0.47";

"J10"->"10.10.0.48";

"J10"->"10.10.0.49";

"J10"->"10.10.0.50";

"J10"->"10.10.0.51";

"J10"->"10.10.0.52";

 

"J11"->"10.10.0.61";

"J11"->"10.10.0.62";

"J11"->"10.10.0.63";

"J11"->"10.10.0.64";

 

"J12"->"10.10.0.254";

"J12"->"10.10.0.250";

 

"J13"->"10.10.0.81";

"J13"->"10.10.0.82";

"J13"->"10.10.0.83";

"J13"->"10.10.0.84";

"J13"->"10.10.0.85";

"J13"->"10.10.0.86";

"J13"->"10.10.0.87";

"J13"->"10.10.0.88";

"J13"->"10.10.0.89";

"J13"->"10.10.0.90";

"J13"->"10.10.0.91";

"J13"->"10.10.0.92";

"J13"->"10.10.0.93";

 

"J14"->"10.10.0.101";

"J14"->"10.10.0.102";

"J14"->"10.10.0.103";

"J14"->"10.10.0.104";

"J14"->"10.10.0.105";

"J14"->"10.10.0.106";

"J14"->"10.10.0.107";

"J14"->"10.10.0.108";

"J14"->"10.10.0.53";

"J14"->"10.10.0.54";

 

"J15"->"10.10.5.10";

"J15"->"10.10.5.11";

"J15"->"10.10.5.12";

"J15"->"10.10.5.13";

"J15"->"10.10.5.14";

"J15"->"10.10.5.15";

"J15"->"10.10.5.16";

"J15"->"10.10.5.17";

"J15"->"10.10.5.18";

"J15"->"10.10.5.19";

 

"M12"->"10.10.0.121";

"M12"->"10.10.0.122";

"M12"->"10.10.0.123";

"M12"->"10.10.0.124";

"M12"->"10.10.0.125";

"M12"->"10.10.0.126";

"M12"->"10.10.0.127";

"M12"->"10.10.0.128";

"M12"->"10.10.0.129";

"M12"->"10.10.0.130";

"M12"->"10.10.0.131";

"M12"->"10.10.0.132";

"M12"->"10.10.0.133";

}

 

 

$ twopi network.gv -Tpng > network.png

 

时间: 2024-10-02 12:40:53

命令行下绘制网络拓扑图的相关文章

CMD命令行下修改网络IP设置的方法_DOS/BAT

不累述,直接两个例子: 1.全自动修改网络地址: 复制代码 代码如下: @echo off netsh interface ip set address name="本地连接" static 192.168.1.55 255.255.255.0 192.168.1.1 auto >nul netsh interface ip add dns "本地连接" 202.98.96.68 index=1 >nul netsh interface ip add d

命令行下也玩IPsec

在网络应用越来越广泛的今天,一个重要的问题就是有关计算机通信的安全性问题.作为网络系统管理员,一项基本职责就是保证数据在网络传输中,不能被未经授权的人访问.查看或修改,在这中间,同时要保证数据能加密传输.怎样做到这一点呢? Win2k网络中,我们可以通过IPSec来保护网络的安全.IPSec的全称是InternetProtocolSecurity,翻译成中文就是Internet协议安全.它的作用主要有两个:一个是保护IP数据包的内容,另外一点就是通过数据包筛选并实施受信任通讯来防御网络攻击.这对

ClamAV一个在命令行下的查毒软件

ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除,至多http://www.aliyun.com/zixun/aggregation/18137.html">删除文件.ClamAV可以工作很多的平台上,但是有少数无法支持,这就要取决您所使用的平台的流行程度了.另外它主要是来防护一些WINDOWS病毒和木马程序.另外,这是一个面向服务端的软件. Clam AntiVirus 是一款 UNIX 下开源的 (GPL) 反病毒工具包,专为

如何在Linux命令行下收听网络电台

如何在Linux命令行下收听网络电台 对于花大量时间在Linux屏幕前的系统管理员和Linux爱好者来说,网络/本地电台上的音乐可以极大提高生产力,你们知道吗?不管你们相信与否,,在工作环境中有适当的声音,如音乐或者闲聊声包围,都可以提高我们的创造力.如果你喜欢在音乐环境中工作,这个教程也许会对你有用.我将会向你展示如何在命令行中收听潘多拉(Pandora)在线电台(LCTT译注:Pandora Internet Radio是一个仅为美国.澳大利亚和新西兰提供自动音乐推荐的系统.详细介绍Pran

如何在命令行下使用 BitTorrent 下载 ISO 镜像

如何在命令行下使用 BitTorrent 下载 ISO 镜像 如果你喜欢尝试最新版甚至是 beta 版的 Linux 发行版来满足你的好奇心,并始终保持是最新版,那么你就会时常遇到下载较大的 ISO 镜像的烦恼.提供 ISO 的人通常会使用 ISO 镜像的 .torrent 文件来减少服务器的带宽消耗.P2P 下载对于使用者来说好处也是很明显的(就下载速度而言),特别是当流行的 Linux 发行版有新版本发布并上传供下载,每个人同时在下载做种的时候. Ubuntu 14.10 (utopic U

现在在EC2 上我开ftp, 在本地cmd 命令行下ftp连接 服务器端,连接成功 ls无法执行?怎么回事?

问题描述 现在在EC2上我开ftp,在本地cmd命令行下ftp连接服务器端,连接成功ls无法执行?怎么回事? 解决方案 解决方案二:用户没有读权限,可以试试get或put命令或者被>符号骗了,其实没有登录成功解决方案三:防火墙问题,ftp分控制连接和数据连接,21端口的控制连接OK,数据连接被FW阻断了,查看下 EC2的安全组连接或是本地网络问题.

linux 命令行下 wlan 无线网卡

Linux 命令行下配置连接 wlan 无线网卡具体步骤参考. 工作的大体思路如下: 用iwconfig开启无线网卡的电源,并查找区域内的无线网络 连接到相应的无线网络 通过ifconfig启用无线网卡,并获取IP(如果使用DHCP的话) 注意: 假设无线被识别为 wlan0,如果您的网卡没有被识别为 wlan0,可以在操作时做相应的修改. 具体步骤 1. 打开无线网卡电源 iwconfig wlan0 txpower on 2. 列出区域内的无线网络 iwlist wlan0 scan 3.

命令行下的聊天机器人

原理 接口 语音 代码实现 效果 总结 今天比较闲,简单的做了一个命令行下的聊天机器人,接口还是之前做android聊天机器人的时候申请的key,没想到现在还没有失效.╭(╯^╰)╮ 先放个下载地址吧: https://github.com/guoruibiao/chatter/raw/master/panda.rar 原理 接口 原理就是使用图灵机器人接口.网址如下:http://www.tuling123.com/ 官网简易使用post的方式进行网络请求,所以最好也是按照官网的来. 发送的格

代码-在命令行下输入*程序为什么不能正确识别

问题描述 在命令行下输入*程序为什么不能正确识别 代码的功能:函数接受3个参数两个数字一个四则运算符,输出计算结果,列如输入3 + 5 输出3+5=15:函数加减除都能运算,为何输入* ( 乘)时程序不能正确识别,求各位大神解答: 代码如下 ![主函数!(http://img.ask.csdn.net/upload/201504/01/1427890049_29127.png)` ` ` 解决方案 是不是多输入了一个空格? 解决方案二: 关键在于你输入是怎么接收方式,从截图也就能看出来乘法和其他