国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

巧用批處理查找端口

2016-11-26 11:27
網(wǎng)絡(luò)安全和信息化 2016年6期
關(guān)鍵詞:端口號批處理調(diào)用

引言:批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進(jìn)行批量的處理,通常被認(rèn)為是一種簡化的腳本語言。批處理程序雖然是在命令行環(huán)境中運(yùn)行,但不僅僅能使用命令行軟件,任何當(dāng)前系統(tǒng)下可運(yùn)行的程序都可以放在批處理文件中運(yùn)行。

作者所在單位要部署一套溫濕度監(jiān)控系統(tǒng)。該系統(tǒng)由華圖S400W無線溫濕度記錄儀、HE2400無線基站和監(jiān)控軟件組成。一個或多個無線溫濕度記錄儀探測環(huán)境溫濕度,通過RF射頻傳送給該環(huán)境中的無線基站,無線基站經(jīng)有線或無線局域網(wǎng)將監(jiān)測數(shù)據(jù)通過UDP協(xié)議傳送至監(jiān)控服務(wù)器??蛻舳送ㄟ^B/S結(jié)構(gòu)可查看溫濕度記錄,接收報(bào)警。

該系統(tǒng)有40多個無線基站接入到二層交換機(jī),局域網(wǎng)為核心、接入兩層結(jié)構(gòu),接入層交換機(jī)有30多臺,按部門劃分了30多個VLAN,為管理方便,部署中需將所有的無線基站劃歸同一VLAN。如果手工為所有無線基站調(diào)整VLAN、分配固定IP,工作量龐大,因此想用批處理來實(shí)現(xiàn)。

實(shí)現(xiàn)思路

圖1 網(wǎng)絡(luò)拓?fù)鋱D

首先:每個無線基站均有MAC地址,先統(tǒng)一把所有無線基站逐一連接筆記本電腦,預(yù)先設(shè)置好固定IP,192.168.31.0/24網(wǎng)段,并記錄下其MAC地址;

然后,將所有無線基站部署到各監(jiān)測點(diǎn),開機(jī);

最后,在局域網(wǎng)中一臺電腦上運(yùn)行批處理程序,輸入MAC地址,即可找到該基站所連接的交換機(jī)端口,將端口劃至VLAN 31。

批處理中需先Telnet至核心交換機(jī),查找指定MAC所直連的二層交換機(jī),再Telnet至二層交換機(jī),找到該MAC所連接的端口,并修改端口的VLAN號。然而批處理在使用Telnet時無法自動輸入Telnet登錄密碼,而VBscript腳本使用SendKeys命令能做到,因此若把二者結(jié)合使用,就能達(dá)到想要的效果。網(wǎng)絡(luò)拓?fù)淙鐖D1所示。

FindMac.bat批處理內(nèi)容如下:

@rem 第一步:輸入MAC地址,Telnet核心交換機(jī)查找該MAC所連接的核心交換機(jī)端口

@set /p mymac=請輸入要查找的MAC:

@del c: elcore.vbs

@echo on error resumenext >>c: elcore.vbs

@echo dim WshShe ll>>c: elcore.vbs

@echo Set WshSh ell=WScript.CreateObje ct("WScript.Shell")>>c: elcore.vbs

@echo WshShell.run"c md">>c: elcore.vbs

@echo WshShell.App Activate"c:windowssys tem32cmd.exe">>c: elc ore.vbs

@echo WScript.Sleep 200>>c: elcore.vbs

@echo WshShell.SendKeys"telnet 192.16 8.1.254{ENTER}">>c: elcore.vbs

@echo WScript.Sleep 100>>c: elcore.vbs

@echo WshShell.AppActivate"telnet.exe">>c: elcore.vbs

@echo WScript.Sleep 2000>>c: elcore.vbs

@echo WshShell.SendKey s"jikon {ENT ER}">>c: elcore.vbs

@echo WScript.Sleep 2000>>c: elcore.vbs

@echo WshShell.Send Keys"sh mac add add %m ymac%{ENTER}">>c: elcore.vbs

@echo WScript.Sleep 1000>>c: elcore.vbs

@echo WshShell.SendKeys"sh cdp nei{ENT ER}">>c: elcore.vbs

@echo WScript.Sleep 1000>>c: elcore.vbs

@call c: elcore.vbs

@rem 第二步:輸入二層交換機(jī)的管理IP,查找該MAC所連接的二層交換機(jī)端口

@cls

@set /p sw=請輸入該MAC所連接的二層交換機(jī)IP:

@del c: elsw.vbs

@echo on error resumenext >>c: elsw.vbs

@echo dim WshSh ell>>c: elsw.vbs

@echo Set WshSh ell= WScript.CreateObject("WScript.Shell")>>c: e lsw.vbs

@echo WshShell.ru n"cmd">>c: elsw.vbs

@echo WshShell.App Activate"c:windowssy stem32cmd.exe">>c: elsw.vbs

@echo WScript.Sleep 200>>c: elsw.vbs

@echo WshShell.Send Keys"telnet %sw%{EN TER}">>c: elsw.vbs

@echo WScript.Sleep 100>>c: elsw.vbs

@echo WshShell.App Activate"telnet.exe ">>c: elsw.vbs

@echo WScript.Sleep 2000>>c: elsw.vbs

@echo WshShell.SendKeys"jikong{EN TE R}">>c: elsw.vbs

@echo WScript.Sleep 2000>>c: elsw.vbs

@echo WshShell.SendKeys"sh mac addadd%mymac%{ENTER}">>c: elsw.vbs

@echo WScript.Sleep 1000>>c: elsw.vbs

@echo WshShell.SendKeys"sh cdp nei{EN TER}">>c: elsw.vbs

@echo WScript.Sleep 1000>>c: elsw.vbs

@call c: elsw.vbs

@rem 第三步:輸入二層交換機(jī)的管理IP,查找該MAC直連的二層交換機(jī)端口

@cls

@set /p swzl=請輸入該MAC所直連的二層交換機(jī)IP:

@del c: elswzl.vbs

@echoon error resume next >>c: elswzl.vbs

@echodim WshShell>>c: elswzl.vbs

@echo Set WshSh ell= WScript.CreateObject("WScript.Shell")>>c: elswzl.vbs

@echo WshShell.run"cmd">>c: elswzl.vbs

@echo WshShell.App Activate"c:windowssys tem32cmd.exe">>c: elswzl.vbs

@echo WScript.Sleep 200>>c: elswzl.vbs

@echo WshShell.SendKeys"telnet %swz l%{ENTER}">>c: elsw zl.vbs

@echo WScript.Sleep 100>>c: elswzl.vbs

@echo WshShell.AppActivate"telnet.exe">>c: elswzl.vbs

@echo WScript.Sleep 2000>>c: elswzl.vbs

@echo WshShell.SendKeys"jik ong{ENT ER}">>c: elswzl.vbs

@echo WScript.Sleep 2000>>c: elswzl.vbs

@echo WshShell.Sen dKeys"sh mac add add%mymac%{ENTER}">>c: elswzl.vbs

@echo WScript.Sleep 1000>>c: elswzl.vbs

@call c: elswzl.vbs

@rem 第四步:輸入二層交換機(jī)端口號,修改VLAN

@cls

@set /p swzldk=請輸入該MAC所直連的二層交換機(jī)端口號:

@del c: elswzldk.vbs

@echo on error resume next >>c: elswzldk.vbs

@echo dim WshShell>>c: elswzldk.vbs

@echo Set WshShell=WScript.Creat eObj ec t("WScript.Shell")> >c: elswzldk.vbs

@echo WshShell.run"cmd">>c: elswzldk.vbs

@echo WshShell.App Activate"c:windowssys tem32cmd.exe">>c: elswzldk.vbs

@echo WScript.Sleep 200>>c: elswzldk.vbs

@echo WshShell.SendKeys"telnet %swzl%{ENTER}">>c: elswzl dk.vbs

@echo WScript.Sleep 100>>c: elswzldk.vbs

@echo WshShell.AppActivate"telnet.exe">>c: elswzldk.vbs

@echo WScript.Sleep 2000>>c: elswzldk.vbs

@echo WshShell.SendKeys"jikong{EN TER}">>c: elswzldk.vbs

@echo WScript.Sleep 2000>>c: elswzldk.vbs

@echo WshShell.SendKeys"en{ENTER}">>c: elswzldk.vbs

@echo WScript.Sleep 1000>>c: elswzldk.vbs

@echo Wsh Shell.SendKeys "jikong{EN TER}">>c: elswzldk.vbs

@echo WSc ript.Sleep 2000>>c: elswzldk.vbs

@echo WshShell.SendKeys"conf t{ENT ER}">>c: elswzldk.vbs

@echo WSc ript.Sleep 1000>>c: elswzldk.vbs

@echo Wsh Sh ell.SendKeys"int f0/%swzld k%{ENTER}">>c: elswzldk.vbs

@echo WScript.Sleep 1000>>c: elswzldk.vbs

@echo WshShell.SendKeys"swit acce vlan 31{ENTER}">>c: elswzldk.vbs

@echo WScript.Sleep 1000>>c: elswzldk.vbs

@echo WshShell.SendKeys"no shut{EN TER}">>c: elswzldk.vbs

@echo WScript.Sleep 1000>>c: elswzldk.vbs

@echo WshShell.SendKeys"end{ENTER}">>c: elswzldk.vbs

@echo WScript.Sleep 1000>>c: elswzldk.vbs

@echo WshShell.SendKeys"wr{ENTER}">>c: elswzl dk.vbs

@echo WScript.Sleep 1000>>c: elswzldk.vbs

@call c: elswzldk.vbs

@rem 清除所定義的變量

@set mymac=

@set sw=

@set swzl=

@set swzldk=

批處理運(yùn)行過程的解釋:

圖2 輸入MAC地址

圖3 核心交換機(jī)連接拓?fù)?/p>

圖4 輸入二層交換機(jī)IP地址

圖5 二層交換機(jī)連接拓?fù)?/p>

圖6 輸入直連的二層交換機(jī)IP地址

第一步:定義變量mymac,讓用戶從鍵盤輸入無線基站的MAC地址,將第一段代碼追加到telcore.vbs文件并調(diào)用,即Telnet核心交換機(jī)192.168.1.254,查找該MAC所連接的核心交換機(jī)端口。

拓?fù)渲酗@示核心交換機(jī)通過光纖連接了9臺二層交換機(jī),該MAC地址連接在Gi3/1端口所連接的二層交換機(jī)上,該二層交換機(jī)名稱是Z2FN1,對telswzl.vbs的調(diào)用完成。用戶查找交換機(jī)hostname命名表,找到Z2FN1的IP是192.168.1.201。

第二步:定義變量sw,讓用戶從鍵盤輸入二層交換機(jī)Z2FN1的管理IP地址192.168.1.201,將第二段代碼追加到telsw.vbs文件并調(diào)用,即Telnet二層交換機(jī) 192.168.1.201,查找該MAC所連接的二層交換機(jī)端口。

拓?fù)渲酗@示二層交換機(jī)Z2FN1共連接了3臺交換機(jī)機(jī),即Gi0/1口通過光纖連接核心交換機(jī)、GI0/2千兆電口連接二層交換機(jī)Z2FN2、百兆電口Fa0/46連接二層交換機(jī)Z2FD1。該MAC地址連接在Gi0/2端口所連接的二層交換機(jī)上,該二層交換機(jī)名稱是Z2FN2,對telsw.vbs的調(diào)用完成。用戶查找交換機(jī)hostname命名表,找到Z2FN2的IP是192.168.1.202。

第三步:定義變量swzl,讓用戶從鍵盤輸入二層交換機(jī)Z2FN2的管理IP地址192.168.1.202,將第三段代碼追加到telswzl.vbs文件并調(diào)用,即Telnet二層交換機(jī) 192.168.1.202,查找該MAC直連的二層交換機(jī)端口。

顯示該無線基站連接在192.168.1.202這臺二層交換機(jī)的Fa0/8百兆電口上,對telswzl.vbs的調(diào)用完成。

圖7 找到端口號

圖8 輸入端口號

圖9 將端口加入VLAN31

第四步:定義變量swzldk,讓用戶從鍵盤輸入端口號8,將第四段代碼追加到telswzldk.vbs文件并調(diào)用,將端口加入VLAN 31,啟用端口并保存。

最后,刪除所定義的4個變量。至此批處理結(jié)束。

如果網(wǎng)絡(luò)拓?fù)錇楹诵膶?、匯聚層、接入層的三層結(jié)構(gòu),此過程還要增加一個步驟。顯然,該批處理還不夠智能化,最理想的結(jié)果是用戶只需輸入MAC地址,所有的工作自動完成,因此尚需進(jìn)一步優(yōu)化,而其復(fù)雜度和代碼量將大大增加。

猜你喜歡
端口號批處理調(diào)用
惡意批處理文件導(dǎo)致電腦黑屏、反復(fù)重啟、無響應(yīng)的原因分析及應(yīng)對思路
在Docker容器中安裝應(yīng)用程序
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
PyroBatchFTP
借助批處理 讓Cortana變聰明
淺談以java為基礎(chǔ)的Socket通信簡介及實(shí)現(xiàn)
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
Winsock編程在《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)》教學(xué)中的應(yīng)用
基于Android系統(tǒng)的互動展示APP的研究與設(shè)計(jì)
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
莱芜市| 新平| 前郭尔| 广德县| 凌源市| 台南县| 祁东县| 江西省| 罗源县| 邛崃市| 嘉义市| 临安市| 安仁县| 曲松县| 澳门| 安阳县| 鹤庆县| 精河县| 隆德县| 青神县| 若羌县| 苗栗县| 白河县| 新津县| 庆云县| 南宫市| 玉林市| 呼伦贝尔市| 禄劝| 揭东县| 金门县| 梁河县| 休宁县| 综艺| 封丘县| 玛纳斯县| 泰顺县| 连江县| 平陆县| 泾川县| 皋兰县|