• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      巧用批處理查找端口

      2016-11-26 11:27:08
      網(wǎng)絡(luò)安全和信息化 2016年6期
      關(guān)鍵詞:層交換機(jī)端口號批處理

      引言:批處理(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)可查看溫濕度記錄,接收報警。

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

      實現(xiàn)思路

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

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

      然后,將所有無線基站部署到各監(jiā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ù)錇楹诵膶印R聚層、接入層的三層結(jié)構(gòu),此過程還要增加一個步驟。顯然,該批處理還不夠智能化,最理想的結(jié)果是用戶只需輸入MAC地址,所有的工作自動完成,因此尚需進(jìn)一步優(yōu)化,而其復(fù)雜度和代碼量將大大增加。

      猜你喜歡
      層交換機(jī)端口號批處理
      在Docker容器中安裝應(yīng)用程序
      初識vPC
      應(yīng)用與配置實例
      淺談以java為基礎(chǔ)的Socket通信簡介及實現(xiàn)
      青春歲月(2017年5期)2017-04-20 18:34:23
      交換機(jī)級聯(lián)端口被綁之后
      基于不同版本的Cisco Packet Tracer實驗結(jié)果比較
      Winsock編程在《計算機(jī)網(wǎng)絡(luò)基礎(chǔ)》教學(xué)中的應(yīng)用
      基于Android系統(tǒng)的互動展示APP的研究與設(shè)計
      基于PSD-BPA的暫態(tài)穩(wěn)定控制批處理計算方法的實現(xiàn)
      批處理天地.文件分類超輕松
      教育| 凭祥市| 陈巴尔虎旗| 双辽市| 嘉禾县| 大竹县| 阜康市| 海林市| 仁寿县| 修武县| 南漳县| 黄梅县| 新乡县| 芒康县| 江源县| 武宁县| 资中县| 阜城县| 天等县| 启东市| 潞西市| 锡林浩特市| 汉中市| 静安区| 通辽市| 建湖县| 武川县| 花莲市| 芜湖县| 遂溪县| 于田县| 黎城县| 鞍山市| 潞西市| 芷江| 杭州市| 西畴县| 长乐市| 南投县| 雅安市| 贺兰县|