简单网络管理语言(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