简单网络管理语言(Simple Network Management Language)是一种类自然语言的脚本语言,它采用snmp、telnet、ping、dns、arp、ssh、tcp、udp、web等协议访问网络设备,内置smtp协议用于告警等邮件的发送,支持excel、mysql、sqlite等3种方式进行网管数据的存取。
最新版本: snml8.13(ladybird20200205) utf8&ipv6
项目托管地址:https://github.com/ladybirdSnml/snmlipv6utf8snmptelnetsshweb
打包下载:https://ladybirdsnml.github.io/snmlipv6utf8snmptelnetsshweb/snml_utf8ipv6.zip
本手册编辑日期:20200205
技术支持邮箱1:ladybird_snml@protonmail.com
技术支持邮箱2:ladybird_snml@hotmail.com
简单网络管理语言(snml)支持CLI(命令行接口)和SNMP(简单网络管理协议)两种方式自动化的进行网络设备配置和管理。CLI 是基于telnet、ssh的人机交互界面,用于设备的参数配置和状态的查看。SNMP 是基于通讯协议的管理工具,实现网络设备参数的自动化监控和远程配置。
网络设备的配置和管理的新技术是SDN(Software Defined Netrork)。软件定义网络是2006年斯坦福大学提出的网络设备分层编程控制系统,全新的网络设备自动化配置和管理体系。
手册最新版:https://ladybirdsnml.github.io/snmlipv6utf8snmptelnetsshweb/snmldoc_utf8ipv6.html
第12章、smtp(e-mail)
电子邮件(e-mail)是最流行的应用,简单邮件传送协议 SMTP (Simple Mail Transfer Protocol)用于发送电子邮件。在snml语言中,可用email来自动发送告警邮件、设备配置参数等。
1、 smtp语句分析
smtp.server {smtp.163.com} port {25} username {122@163.com} password {123456}
设置smtp邮件服务器的参数,服务器域名“smtp.163.com”,端口号“25”,登录邮箱名“122@163.com”,邮箱密码“123456”
smtp.subject {发送邮件测试} body {邮件正文}
填写邮件的标题和正文的值,在本示例中标题为“发送邮件测试”,正文为“邮件正文”
smtp.add attachment {C:\snmlipv6\excel\snml.xlsx}
邮件添加附件“C:\snmlipv6\excel\snml.xlsx”
smtp.send to {123@126.com}
发送邮件到邮件接受者邮箱“123@126.com”
2、示例脚本[C:\snmlipv6\smtp\smtp_nms1.txt]
| C:\snmlipv6\smtp\smtp_nms1.txt | |
|---|---|
| 001 | screen.text at point {250} {30} string {12. smtp Test: Send Mail} |
| 002 | |
| 003 | var {v_time} value datetime |
| 004 | var {v_y} value {60} |
| 005 | |
| 006 | |
| 007 | screen.text at point {10} {~v_y~} string {sina, Begin To Send A Mail: ~v_time~} |
| 008 | |
| 009 | smtp.server {smtp.sina.com} port {25} username {xxxaaaaabbb@sina.com} password {myPassword} |
| 010 | smtp.subject {Test Send A Mail:~v_time~} body {Email Body%0a, Send Time: ~v_time~} |
| 011 | smtp.add attachment {C:\snmlipv6\excel\snml.xlsx} |
| 012 | smtp.add attachment {C:\snmlipv6\text\text99.txt} |
| 013 | run.set loglevel {debug} |
| 014 | smtp.send to {myEmail@163.com} |
| 015 | run.set loglevel {nolog} |
| 016 | screen.text at point {300} {~v_y~} string {Send Mail End.} |
| 017 | |
| 018 | |
| 019 | var {v_time} value datetime |
| 020 | var {v_y} add number {20} |
| 021 | |
| 022 | screen.text at point {10} {~v_y~} string {126, Begin To Send A Mail: ~v_time~} |
| 023 | |
| 024 | smtp.server {smtp.126.com} port {25} username {myEamil@126.com} password {myPassword} |
| 025 | smtp.subject {Test Send A Mail:~v_time~} body {Email Body%0a, Send Time: ~v_time~} |
| 026 | smtp.add attachment {C:\snmlipv6\excel\snml.xlsx} |
| 027 | smtp.add attachment {C:\snmlipv6\text\text99.txt} |
| 028 | run.set loglevel {debug} |
| 029 | smtp.send to {ladybird_snml@protonmail.com} |
| 030 | run.set loglevel {nolog} |
| 031 | screen.text at point {300} {~v_y~} string {Send Mail End.} |
| 032 | |
| 033 | |
| 034 | var {v_time} value datetime |
| 035 | var {v_y} add number {20} |
| 036 | screen.text at point {10} {~v_y~} string {163,Begin To Send A Mail: ~v_time~} |
| 037 | |
| 038 | smtp.server {smtp.163.com} port {25} username {myEmail@163.com} password {myPassword} |
| 039 | smtp.subject {Test Send A Mail:~v_time~} body {Email Body%0a, Send Time: ~v_time~} |
| 040 | smtp.add attachment {C:\snmlipv6\excel\snml.xlsx} |
| 041 | smtp.add attachment {C:\snmlipv6\text\text99.txt} |
| 042 | run.set loglevel {debug} |
| 043 | smtp.send to {xxxaaaaabbb@126.com} |
| 044 | run.set loglevel {nolog} |
| 045 | screen.text at point {300} {~v_y~} string {Send Mail End.} |
| 046 | |
| 047 | run.end |
脚本执行画面如下:
目录: 1、var 2、screen 3、snmp 4、telnet 5、text 6、if 7、loop 8、dns 9、ping 10、arp 11、excel 12、smtp 13、tcp 14、udp 15、ssh 16、web 17、mysql 18、sqlite 19、Run 20、sys 21、macro 附录1、全部语句
来源:https://www.cnblogs.com/snmlsnmpsshtelnetipv6/p/12381546.html