mnet套件是面向网络专业人员的python工具的集合。

mnet的Python项目详细描述


#mnet

mnet套件-网络专业人员的工具。
michael laforest`<;mjlaforest`*位于*`gmail`*dot*`com>;`

[mnet diagram example1][diag1]
:如果您使用这些工具或发现它们有用,请考虑捐赠。

捐赠方式地址二维码
----[1hy3jpyffe6yzbuytyfmpazvskrxjzdmbs](https://github.com/mjl85/mnet/blob/master/docs/endate/btc.png“比特币(btc)”)
比特币现金(bch);1hsycjr3lazxulg34aebbqdusaypkh8xsh![1hsycjr3lazxulg34aebbqdusaypkh8xsh](https://github.com/mjl85/mnet/blob/master/docs/invent/bch.png“比特币现金(bch)”)


|
tracemac尝试通过递归地在switch cam表中查找特定的mac地址。|
getmacs收集发现的网络上所有mac地址的列表并生成报告。|

网络发现

发现过程使用snmp、cdp和lldp来发现网络拓扑和每个节点的详细信息。每个发现的节点都将根据“discover”acl(在配置文件中定义)进行计算,以确定如何继续;acl可能允许发现、在此处停止发现或将其作为叶包含在关系图中。


<;table>;
<;tr>;
<;td valign=top rowspan=2>;
<;i>;discover<;i>;定义为
<;pre>;lt;code>;“discover”:[
ace1,
ace2,


acen,
]< lt;lt;lt;code>;lt;pre>;
<;td>;
><;td valign=top>;
<;i>;定义为
<;pre>;lt;pre>;
<;lt;i>;ace<;i>;定义为
><;lt;pre>;lt;pre>;>;lt;code>;lt;gt;>;lt;lt;许可;拒绝;包括/lt;pre>;
<;lt;lt;tr>;
<;lt;tr>;
<;lt;tr>;
<;lt;lt;lt;lt;lt;lt;lt;lt;lt;lt>;
例如
<;pre>;<;lt;lt;code>;“发现发现”:“
“拒绝IP 10.50.12.12.55”、
“拒绝主机^9月29日”、
“拒绝主机^9月29日”、
“允许IP 10.50.12.0.12.0/24”、
“拒绝IP 10.50.12.12.0.12.0.12.0/24”、
>]<;/code>;<;/td>;
<;/tr>;
<;/table>;

---

| ACE Match Type| Include Node | Collect Node Information | Allow Discovery of Adjacencies |
| --- |:---:|:---:|:---:|
| **permit** | yes | yes | yes |
| **leaf** | yes | yes | |
| **include** | yes | | |
| **deny** | | | |

---

| ACE Parameter | Description | Example |
| ---|---|---|
host regex主机可以与任何正则表达式字符串匹配。主机字符串是从cdp或lldp报告的内容。|`主机路由器-.*`
IP CIDR IP可以与CIDR匹配。|` IP 10.50.31.0/24 `







` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` `/>` ` ` ` ` mnet.py图-r<;根IP>;
-o<;输出文件>;
[-d<;最大深度>;]
[-c<;配置文件>;]




[-c<;目录文件>;]
``
选项说明
----
`-r<;根IP>;`要启动的网络节点的IP地址。|
`-o<;output file>;`要将输出写入的文件。<;br/>;常用文件扩展名:`.png`,`.pdf`,`.svg`
`-c<;config file>;`要使用的JSON配置文件。“BR/>‘-d & lt;max深度& gt;‘最大跳跃深度’,从‘-r’< BR/>‘-T’& lt;图表标题>‘给出您生成的网络图’的标题开始。|
`C<;目录文件>;``I如果指定,mnet将生成一个逗号分隔(csv)目录文件,其中包含发现的所有设备的列表。|



tracemac-tracemac-r<;根ip>;
-m<;mac address>;
[-c<;config file>;]










tracemacmac-tracemac-r<;根ip<;根ip<;根ip<;根ip<;根ip>;
``
`
` `
` `/>` ` ` ` ` ` ` ` ` `要启动的网络节点的IP地址。|
`-m<;mac address>;``要定位的mac地址。可以是任何形式。例如:“11:22:33:44:55:66”或“112233445566”或“1122.3344.5566”
-c<;config file>;`要使用的JSON配置文件。|



``````
````````````````````````````````````` GetMacs GetMacs GetMacs—R<;根IP>;
-O<;输出CSV文件>;
[-D<;Mac Depth>;]
[-D<;Mac Depth>;]
>>
[-C<;配置文件>;]
``````````
`````````````````````````````````````>`-r<;根IP>;`要启动的网络节点的IP地址。|
`-o<;output csv file>;` `将要写入输出的逗号分隔值(.csv)文件。“BR/>‘-d & lt;max深度& gt;‘最大跳跃深度’,从‘-r’
'-c&lt;CONFIG文件gt;'json配置文件使用的根节点开始。|





`` ` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `br/>“.company.net”,“.company.com”
],
“discover”:[
“许可IP 10.0.0.0.0/8”,
“许可主机路由器[1,2],
“拒绝IP任何”,
],
“diagram”:{
“node\u-text-size”:10,
“link\u-text-size”:9,
“title\u-text-text-size”:15,
“获取堆栈成员”:0,
“获取成员”:0,
“获取成员”:0,
“获取成员”:0,
“获取成员”:0,
“获取成员”:0,
“获取成员”。vss_members“:0,
”expand_stackwise“:0,
“expand懔vss”:0,
“expand懔lag”:1,
“group懔vpc”:0
}

}
`````

block/variable description
----
“snmp定义一个snmp凭据列表。连接到节点时,将按顺序尝试每个凭据,直到其中一个成功为止。|
“discover”定义了Cisco样式的ACL。请参阅“网络发现”部分。|
“图表”定义图表模块使用的值。下面在*图表块*表中详细说明。|

|
链接文本大小整数9链接文本大小。|
`title_u text_u size` integer`15`图表标题文本大小。|
|
|
|
|
如果设置为“0”,同一逻辑链接通道的链接将被分组,并且只显示通道链接。|
group_vpc` bool 0`如果设置为'1',vpc对等点将在图表上组合在一起,否则它们将不会被群集。|

链路
+bgp本地as
+ospf路由器id
+hsrp虚拟ip
+hsrp优先级
+vss域
+stackwISE成员资格
+专有网络对等链接信息


+stackwise-边框数表示堆栈中交换机的数量。
+如果配置指定,则vss/vpc/stackwise节点将分组为更大的正方形。
+links
+links用箭头线显示。没有箭头的结尾是*父*而带箭头的结尾是*子*,因此如果链接显示*p:gi0/1*,则排列为*父*->;*子*
+,*C:gi1/4*则父节点的连接在端口gi0/1上,子节点的连接在端口gi1/4上。
+如果链接是以太网通道的一部分,则还将显示以太网通道的接口名称。由于etherchannel接口在本地是有意义的,因此如果可用,还将显示a*p:*和*c:*。


[mnet diagram ex1](http://i.imgur.com/mny7pll.png“mnet graph ex1”)


示例2
![mnet diagram ex2](http://i.imgur.com/buxnzwg.png“mnet graph ex2”)


示例3
![mnet-diagram ex3](http://i.imgur.com/i1dqm09.png“mnet-graph ex3”)


trace mac


\mac地址位于端口
`gi0/11`.

````
`mnet.py tracemac-r 10.10.0.3-m 0023.6863.7570
michael laforest<;mjlaforest@gmail.com>编写的mnet suite v0.7





>配置文件:./mnet.conf
>根节点:10.10.0.0.3
>mac地址:0023.6863.7570


>开始跟踪。



idf1个节点a(10.10.0.3)
>vlan:1
>端口:gi1/3
>下一节点:idf1个节点:idf1个节点b
>下一节点ip:10.10.0.0.2
=

=
idf1个节点:idf1个节点b(10.10.10.10.0.0.2);下一节点:10.10 br/>VLAN:1
端口:gi0/24
下一个节点:idf3 ud
下一个节点IP:10.10.0.6
----
idf3 ud(10.10.0.6)
VLAN:1
端口:gi0/11
----
跟踪完成。
````
常见问题

我只想绘制网络的一部分。
请尝试更改配置“discover”acl以缩小您的发现范围。如果不希望cidr或主机名regex模式包含在关系图中,可以显式拒绝它们。

q2-配置文件在哪里?
创建一个新的配置为
`mnet.py config>;mnet.conf`


我能买一个没有IP或序列号的吗?
您可以通过编辑配置选项“diagram\node\u text”来更改每个节点中的文本。下面是一个可以生成最小信息图的示例:


```
“关系图”:{
node节点的文本='<;lt;FONT FONT PONTSIZE=“10”>;lt;b>;{node.name}<;b>;<;lt;FONT>;<;br/>;{node.ios}<;br/>;{node.plat}
>
````
''''''''''''''>>'''''''''''''''''''>>>'''''''''''''''''''''如何从图表中删除Cisco VoIP电话?
``
“发现”:[
“拒绝主机^sep.*$”
]
```

[diag1]:https://github.com/mjl85/mnet/blob/master/docs/images/mnet_example.png“图表1”

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
c#Java Tcp服务器和。Net Tcp客户端的发送和接收问题   安卓应用程序上的java标记地理位置,其位置位于我周围5Km半径范围内。   向java添加对话框并检索html文件   当eclipse甚至无法打开时,java会在eclipse中更改不兼容的JVM   java中同一jframe中的jlabel和paintComponent   基于另一数组排序的java排序   java AADSTS7000012:该补助金是为另一个租户获得的   java在JSF中使用foreach循环   java如何通过maven为运行junit测试创建运行配置?   java Selenium webDriver不稳定错误堆栈跟踪   java有没有办法创建以键为大写的JSON对象?