版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
理工大學(xué)《網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì)》報(bào)告端口掃描程序的設(shè)計(jì)與實(shí)現(xiàn)學(xué)院計(jì)算機(jī)與通信工程學(xué)院 專業(yè)網(wǎng)絡(luò)工程班級(jí)學(xué)號(hào)學(xué)生指導(dǎo)教師課程成績(jī) 完成日期
課程設(shè)計(jì)任務(wù)書計(jì)算機(jī)與通信工程學(xué)院 網(wǎng)絡(luò)工程專業(yè)課程名稱網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì)時(shí)間f 2015?2016學(xué)年第1學(xué)期18?19周學(xué)生指導(dǎo)老師題目端口掃描程序的設(shè)計(jì)與實(shí)現(xiàn)主要容:實(shí)現(xiàn)通過(guò)異步掃描對(duì)指定網(wǎng)段的主機(jī)或者單個(gè)主機(jī)對(duì)指定端口或者指定的端口圍進(jìn)行掃描。實(shí)現(xiàn)通過(guò)多線程批量掃描對(duì)指定網(wǎng)段的主機(jī)或者單個(gè)主機(jī)對(duì)指定端口或者指定的端口圍進(jìn)行掃描。設(shè)置異常處理機(jī)制,能對(duì)端口掃描出現(xiàn)異常時(shí)做出處理。要求:結(jié)合網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì)所學(xué)知識(shí)設(shè)計(jì)并實(shí)現(xiàn)端口掃描程序的設(shè)計(jì)與實(shí)現(xiàn)。學(xué)會(huì)文獻(xiàn)檢索的基本方法和綜合運(yùn)用文獻(xiàn)的能力。通過(guò)課程設(shè)計(jì)培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,認(rèn)真的工作作風(fēng)和團(tuán)隊(duì)協(xié)作精神。應(yīng)當(dāng)提父的文件:課程設(shè)計(jì)學(xué)年論文。課程設(shè)計(jì)附件(相關(guān)圖紙、設(shè)備配置清單、報(bào)告等)。課程設(shè)計(jì)成績(jī)?cè)u(píng)定
院班學(xué)生業(yè) 號(hào) 系計(jì)算機(jī)與通信工程專
級(jí) 學(xué)院班學(xué)生業(yè) 號(hào) 指導(dǎo)教師指導(dǎo)教師對(duì)學(xué)生在課程設(shè)計(jì)中的評(píng)價(jià)評(píng)分項(xiàng)目?jī)?yōu)良中及格不及格學(xué)習(xí)態(tài)度與遵守紀(jì)律情況課程設(shè)計(jì)完成情況課程設(shè)計(jì)報(bào)告的質(zhì)量指導(dǎo)教師成績(jī) 指導(dǎo)教師簽字 2016 年月日課程設(shè)計(jì)答辯組對(duì)學(xué)生在課程設(shè)計(jì)中的評(píng)價(jià)評(píng)分項(xiàng)目?jī)?yōu)良中及格不及格課程設(shè)計(jì)完成情況課程設(shè)計(jì)報(bào)告的質(zhì)量課程設(shè)計(jì)答辯答辯組成績(jī) 答辯組長(zhǎng)簽字 2016 年月日課程設(shè)計(jì)綜合成績(jī) 注:課程設(shè)計(jì)綜合成績(jī)=指導(dǎo)教師成績(jī)X60%^答辯組成績(jī)X40%端口掃描程序的設(shè)計(jì)與實(shí)現(xiàn)
學(xué)生:指導(dǎo)老師:學(xué)生:指導(dǎo)老師:摘要計(jì)算機(jī)信息網(wǎng)絡(luò)的發(fā)展加速了信息化時(shí)代的進(jìn)程,隨著社會(huì)網(wǎng)絡(luò)化程度的增加,對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的依賴也越來(lái)越大,網(wǎng)絡(luò)安全也日益明顯。端口掃描技術(shù)是發(fā)現(xiàn)安全問(wèn)題的重要手段之一。本程序是在.NET平臺(tái)上使用C#語(yǔ)言完成的一個(gè)端口掃描程序。此程序主要完成了多線程批量掃描和異步掃描功能。多線程批量掃描,能對(duì)單個(gè)指定的主機(jī)或者指定網(wǎng)段的所有主機(jī)進(jìn)行特定端口或指定的端口段的端口進(jìn)行逐個(gè)掃描,此端口掃描程序能以較快的速度準(zhǔn)確地掃描出主機(jī)偵聽的空閑端口。相對(duì)于多線程批量掃描,異步掃描能以更快的速度準(zhǔn)確地掃描出主機(jī)偵聽的空閑端口。掃描結(jié)果以列表的形式直觀顯示出來(lái)。關(guān)鍵詞端口掃描;多線程批量掃描;異步掃描DesignandimplementationofportscanningprogramStudentname:YUWenlongAdvisor:LONGJizhenAbstractComputerinformationnetworkdevelopmentspeedsuptheprocessoftheinformationage,withtheincreaseofthedegreeofsocialnetworks,thecomputernetworkhasbecomeincreasinglydependenton,networksecurityisincreasinglyobvious.Portscanningtechnologyisoneoftheimportantmethodstofindsecurityproblems.Thisprocedureisinthe.NETplatformusingC#languagetocompleteaportscanner.Thisprogrammainlycompletesthemultithreadbatchscanningandasynchronousscanningfunction.Multi-threadedbatchscanning,allthehosttospecifyasinglehostornetworksegmentspecifiedforaparticularportandtheportspecifiedportscansonebyone,theportscanningprocedurescanfastaccuratelyscanhostlistenstothefreeport.Comparedwiththemultithreadasynchronousbatchscanning,scanningcanaccuratelyscanhostlistenstothefreeportatafasterspeed.Scanresultsaredisplayedintheformofalist.Keywords:portscanning;multithreadbatchscan;asynchronousscan/ 、八前言端口在計(jì)算機(jī)網(wǎng)絡(luò)中用于標(biāo)識(shí)上層應(yīng)用程序服務(wù),端口掃描是指某些別有用心的人發(fā)送一組端口掃描消息,試圖以此侵入某臺(tái)計(jì)算機(jī),并了解其提供的計(jì)算機(jī)網(wǎng)絡(luò)服務(wù)類型(這些網(wǎng)絡(luò)服務(wù)均與端口號(hào)相關(guān))。端口掃描是計(jì)算機(jī)解密高手喜歡的一種方式。攻擊者可以通過(guò)它了解到從哪里可探尋到攻擊弱點(diǎn)。實(shí)質(zhì)上,端口掃描包括向每個(gè)端口發(fā)送消息,一次只發(fā)送一個(gè)消息。接收到的回應(yīng)類型表示是否在使用該端口并且可由此探尋弱點(diǎn)。掃描器是一種自動(dòng)檢測(cè)遠(yuǎn)程或本地主機(jī)安全性弱點(diǎn)的程序,通過(guò)使用掃描器你可以不留痕跡的發(fā)現(xiàn)遠(yuǎn)程服務(wù)器的各種端口的狀態(tài)!這就能讓我們間接的或直觀的了解到遠(yuǎn)程主機(jī)所存在的安全問(wèn)題。課程設(shè)計(jì)的目的計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展使得社會(huì)網(wǎng)絡(luò)化程度增加,人們對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的依賴也越來(lái)越大,端口掃描技術(shù)是發(fā)現(xiàn)安全問(wèn)題的重要手段之一。端口掃描的主要目的是判斷目標(biāo)主機(jī)或目標(biāo)網(wǎng)段的主機(jī)開放了哪些服務(wù),網(wǎng)絡(luò)管理員了解了這些信息后,便于管理整個(gè)網(wǎng)絡(luò)以及采取相應(yīng)的安全防。設(shè)計(jì)的軟硬件平臺(tái)本程序基于.NET平臺(tái)使用C#語(yǔ)言開發(fā)的一個(gè)端口掃描程序。.NET是MicrosoftXMLWebservices平臺(tái)。XMLWebservices允許應(yīng)用程序通過(guò)Internet進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語(yǔ)言。Microsoft.NET平臺(tái)提供創(chuàng)建XMLWebservices并將這些服務(wù)集成在一起之所需。.NET支持多種語(yǔ)言,包括C#,VC++,COBOL等,是一個(gè)全面的開發(fā)工具。端口掃描的主要工作原理端口掃描器通過(guò)選用遠(yuǎn)程TCP/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通過(guò)這種方法,可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息。最基本的 TCP掃描,操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用可以用來(lái)與每一個(gè)感興趣的目標(biāo)計(jì)算機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),那么connect()就能成功。否則,這個(gè)端口是不能用的,即沒有提供服務(wù)。這個(gè)技術(shù)的一個(gè)最大的優(yōu)點(diǎn)是,你不需要任何權(quán)限。系統(tǒng)中的任何用戶都有權(quán)利使用這個(gè)調(diào)用。另一個(gè)好處就是速度,如果對(duì)每個(gè)目標(biāo)端口以線性的方式,使用單獨(dú)的connect()調(diào)用,那么將會(huì)花費(fèi)相當(dāng)長(zhǎng)的時(shí)間,使用者可以通過(guò)同時(shí)打開多個(gè)套接字來(lái)加速掃描,也就是本設(shè)計(jì)中的多線程批量掃描。使用非阻塞I/O允許你設(shè)置一個(gè)低的時(shí)間用盡周期,同時(shí)觀察多個(gè)套接字。但這種方法的缺點(diǎn)是很容易被察覺,并且被防火墻將掃描信息包過(guò)濾掉。目標(biāo)計(jì)算機(jī)的logs文件會(huì)顯示一連串的連接和連接出錯(cuò)消息,并且能很快使它關(guān)閉。常見的端口掃描方法有TCPconnect,TCPSYNTCPFIN,TCPACK多線程socket批量掃描等,本次課程設(shè)計(jì)主要采用TCPconnect實(shí)現(xiàn)異步掃描,調(diào)用socket實(shí)現(xiàn)多線程批量掃描。多線程批量掃描工作原理操作系統(tǒng)提供的socket系統(tǒng)調(diào)用,用來(lái)與每一個(gè)感興趣的目標(biāo)主機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),那么socket()就能成功,否則這個(gè)端口沒有提供服務(wù)。多線程批量掃描使用for循環(huán)來(lái)實(shí)現(xiàn)逐個(gè)掃描的,多端口也是使用for循環(huán)來(lái)實(shí)現(xiàn)逐個(gè)掃描的,調(diào)用connect()和accept()建立套接字連接,這兩個(gè)系統(tǒng)調(diào)用用于完成一個(gè)完整相關(guān)的建立,其中connect()用于建立連接。accept()用于使服務(wù)器等待來(lái)自某主機(jī)進(jìn)程的實(shí)際連接。借助for循環(huán)通過(guò)thread[i]=newThread(ThreadPort)創(chuàng)建多個(gè)線程,采用異常處理機(jī)制調(diào)用socket進(jìn)行連接,實(shí)現(xiàn)端口掃描。異步掃描工作原理調(diào)用操作系統(tǒng)提供的BeginConnect()方法進(jìn)行TCP連接,用來(lái)與每一個(gè)感興趣的目標(biāo)主機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),那么就能連接成功,否則不能連接成功。通過(guò)while()循環(huán)來(lái)返回連接結(jié)果,并顯示在列表中。端口掃描實(shí)現(xiàn)的主要步驟4.1多線程批量掃描設(shè)計(jì)的主要步驟使用自定義的方法GetListIP()獲取待掃描的指定主機(jī)或指定網(wǎng)段主機(jī)的IP地址和指定端口或端口段。(2)初始化并保存為IPEndPoint對(duì)象。(3)借助for循環(huán)通過(guò)thread[i]=newThread(ThreadPort)創(chuàng)建多個(gè)線程。(4)調(diào)用線程的實(shí)現(xiàn)方法,使用socket連接,通過(guò)for循環(huán)進(jìn)行批量掃描。(5)采用trycatch進(jìn)行異常處理。下載可編輯4.2異步掃描設(shè)計(jì)的主要步驟(1)使用自定義的方法GetListIP()獲取待掃描的指定主機(jī)或指定網(wǎng)段主機(jī)的 IP地址和指定端口或端口段。初始化并保存為IPEndPoint對(duì)象。通過(guò)for循環(huán)創(chuàng)建線程。調(diào)用操作系統(tǒng)提供的BeginConnect()方法進(jìn)行TCP連接,進(jìn)行循環(huán)掃描。采用trycatch進(jìn)行異常處理。5程序運(yùn)行與測(cè)試5.1對(duì)指定主機(jī)指定端口異步掃描,如圖5.1所示田掃融口田掃融口圖5.1異步掃描單主機(jī)單端口5.2對(duì)指定主機(jī)指定端口圍異步掃描,如圖 5.2所示
圖5.2異步掃描單主機(jī)多端口5.3對(duì)指定IP指定端口圍多線程批量掃描,如圖 5.3所示掃描端口_Q0選揮儺【P10.129.54^09質(zhì)入崔□范圍80160□ 口10冬注程批星掃痕捋佩度異步逼打掃福遺出正在掃描中?請(qǐng)険...A10.129,54.209:9517連接10129.54.209:80已打開10.129?54.209;87未達(dá)接咸忑]10.129,54.2M:S&未連接咸切M182未連接棘09:83未連接成功09:89未連接越如10.129J4.2D9;85未垃接砸10.129,54.209*8未連接咸切10.12^,54.205:84未遂接恣]05:90未進(jìn)接臨09:81未連接成功iai29^4.209t91未逹接毬刖V圖5.3多線程掃描單主機(jī)多端口
5.4對(duì)指定IP圍指定端口圍多線程批量掃描,如圖 5.4所示掃揃端口 一口K1?A[P?e? 10-129.54J09 -20 口疇指走【P輔入肯口范圍80 —160 □遠(yuǎn)擇屣最口創(chuàng)建的統(tǒng)程數(shù)10寡線徨批量弓插異歩逼時(shí)掃転退出正在曰E中r青働…A09:9618連接10.1^9.54.209:80已扎開iai29.54.2QS;B2未連接瞬10,129.54.209:&7毬接咸勒M:&3未逹接磁05:&1未逹接戢功09:85未洼強(qiáng)成功1U-129^4.2l)y;:B4去連接10,129,54.205:85親蠱接成功09:90未逹接磁09:83未逹接成勒09:89未總接成功HJ-ijy.;j4^uy:y^*連握胡■切V圖5.4多線程掃描多主機(jī)多端口5.5對(duì)指定IP圍指定端口圍異步掃描,如圖5.5兀掃描端口鼠知曉圉爺入逹□走匡鼠知曉圉爺入逹□走匡正在掃珀Er謹(jǐn)稍等.“09:80已打開16129.54*209:1站閃開10,129.54.209:1356fW10,129.54,210:£0耒產(chǎn)提成訪09:10933違寶:&0已打開10:32未圉妾成功10-125.54.210:83 翊10:81 刪10,12?.54,210:84未連接成前10:S5耒産接成功10:86未逹接戒功10:33左連接咸功
圖5.5異步掃描多主機(jī)多端口6設(shè)計(jì)的結(jié)論及意義經(jīng)過(guò)不斷的修改和完善程序,基本滿足了一個(gè)端口掃描成宿的基本要求,實(shí)現(xiàn)了對(duì)單個(gè)指定的主機(jī)進(jìn)行掃描或掃描指定網(wǎng)段的主機(jī),實(shí)現(xiàn)了對(duì)特定端口進(jìn)行掃描,或掃描指定的端口圍的端口,以避免在不需要了解的端口號(hào)上浪費(fèi)時(shí)間。端口掃描技術(shù)是網(wǎng)絡(luò)安全中重要的技術(shù)之一,有利于用戶,特別是網(wǎng)管人員了解被管理主機(jī)的服務(wù)的開啟情況,對(duì)網(wǎng)絡(luò)安全有著重大意義。7參考文獻(xiàn)[1][2][3][4]謝希仁計(jì)算機(jī)網(wǎng)絡(luò)[M]第6版.北京:電子工業(yè),2013.6[1][2][3][4]馬駿C#網(wǎng)絡(luò)應(yīng)用編程第3版.北京:人民郵電,2014.9建華,濤等譯TCP/IP詳解卷1.北京:機(jī)械工業(yè),2009.1梁亞聲計(jì)算機(jī)網(wǎng)絡(luò)安全教程第2版.北京:機(jī)械工業(yè),2010.附錄:usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;usingSystem.Threading;usingSystem.Windows.Forms;namespacePortFyz{publicpartialclassForm1:Form{privatevolatileintN=0;// 用來(lái)說(shuō)明每次掃描時(shí)的索引privatevolatileintT=0;// 用來(lái)說(shuō)明線程執(zhí)行的次數(shù)ManualResetEventmanualResetEvent=newManualResetEvent(false);List<IPEndPoint>listIpe=newList<IPEndPoint>();//用來(lái)存儲(chǔ)所有的IPEndPoint泛型intthreadNumber=10;// 創(chuàng)建的線程數(shù)Thread[]thread;AutoResetEventautoEvent=newAutoResetEvent(false);delegatevoidAddStr(stringstr);AddStraddstr;#region1簡(jiǎn)單控件操作voidAddList(stringstr){listBox1.Items.Add(str);}publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){addstr+=AddList;}privatevoidbutton2_Click(objectsender,EventArgse){Application.Exit();}privatevoidcheckBox2_CheckedChanged(objectsender,EventArgse){if(checkBox2.Checked){textBox3.Enabled=false;textBox4.Enabled=false;}else{textBox3.Enabled=true;textBox4.Enabled=true;}}privatevoidcheckBox1_CheckedChanged(objectsender,EventArgse){if(checkBox1.Checked){textBox1.Enabled=false;textBox2.Enabled=false;}else{textBox1.Enabled=true;textBox2.Enabled=true;}}#endregion#region2.1 多線程批量掃描privatevoidbutton1_Click(objectsender,EventArgse)privatevoidbutton1_Click(objectsender,EventArgse){if(textBox8.Text.Trim()==""){MessageBox.Show("請(qǐng)輸入線程數(shù)");}else{threadNumber=Convert.ToInt32(textBox8.Text.Trim());}Initialization();//設(shè)置進(jìn)度條progressBar1.Minimum=0;progressBar1.Maximum=listIpe.Count;progressBar1.Value=0;if(listIpe.Count<=threadNumber){threadNumber=listIpe.Count;}//開始創(chuàng)建線程掃描thread=newThread[threadNumber];for(inti=0;i<threadNumber;i++){thread[i]=newThread(ThreadPort);thread[i].Priority=ThreadPriority.AboveNormal;thread[i].IsBackground=true;thread[i].Start();}manualResetEvent.WaitOne();}#endregion#region2.2多線程批量掃描publicvoidThreadPort()///<summary>///多線程批量掃描///</summary>publicvoidThreadPort(){IPEndPointcurrentIpe=listIpe[0];while(true){if(N>=listIpe.Count){if(T>=listIpe.Count){//注意return時(shí),只是當(dāng)前線程被銷毀,其IsAlive為false,這個(gè)時(shí)候還有線程在跑// 有可能后面的沒執(zhí)行完就已經(jīng)把結(jié)果送給textBox5了// 當(dāng)所有線程執(zhí)行完后,才通知textBox5的text為resultmanualResetEvent.Set();return;}}else{lock(this){currentIpe=listIpe[N];N++;}Socketsocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.IP);try{socket.Connect(currentIpe);if(socket.Connected){IPEndPointep=socket.LocalEndPointasIPEndPoint;stringss=ep.Address+":"+ep.Port+" 連接"+currentIpe.Address+":"+currentIpe.Port+" 已打開"+"\r\n";addstr(ss);T++;}else{stringss=currentIpe.Address+":"+currentIpe.Port+" 未連接成功"+"\r\n";addstr(ss);T++;}}catch(Exceptionex){stringss=currentIpe.Address+":"+(ex.Message.Split(':'))[1]連接成功"+"\r\n";addstr(ss);T++;}finally{socket.Close();}}}}#endregion#region3.1異步掃描privatevoidbutton3_Click(objectsender,EventArgse)privatevoidbutton3_Click(objectsender,EventArgse){// 進(jìn)行初始化Initialization();// 設(shè)置進(jìn)度條progressBar1.Minimum=0;progressBar1.Maximum=listIpe.Count;progressBar1.Value=0;//開始創(chuàng)建線程掃描Form1form=this;ListBoxlistbox=listBox1;ProgressBarprogressBar=progressBar1;thread=newThread[threadNumber];for(inti=0;i<threadNumber;i++){thread[i]=newThread(newParameterizedThreadStart(sport));thread[i].Start(newArrayList(){listbox,progressBar,i});}}#endregion#region3.2異步掃描的實(shí)現(xiàn)方法voidsport(objects)voidsport(objects){//進(jìn)行一系列對(duì)象的轉(zhuǎn)化ArrayListal=(ArrayList)s;ListBoxlistbox=(ListBox)al[0];ProgressBarprogressBar=(ProgressBar)al[1];intith=Convert.ToInt32(al[2]);//開始循環(huán)去進(jìn)行連接for(intiport=ith;iport<listIpe.Count;iport+=threadNumber){TcpClienttcpClient=newTcpClient(AddressFamily.InterNetwork);
try{//異步連接tcpClient.BeginConnect(listIpe[iport].Address,listIpe[iport].Port,AsyncPort,newArrayList(){tcpClient,iport,progressBar,listbox});}catch(Exceptionex){}//讓當(dāng)前線程等待autoEvent.WaitOne(200);}}#endregion#region3.3異步掃描的結(jié)果處理publicvoidAsyncPort(IAsyncResultresult)///<summary>///異步掃描///</summary>publicvoidAsyncPort(IAsyncResultresult){//進(jìn)行一系列對(duì)象的轉(zhuǎn)化ArrayListarr=(ArrayList)result.AsyncState;TcpClienttcpClient=(TcpClient)arr[0];intiport=(int)arr[1];ListBoxlistbox=(ListBox)arr[3];ProgressBarprogressBar1=(ProgressBar)arr[2];while(true){//輪詢看是否有結(jié)果if(result.IsCompleted){try{+listIpe[iport].Portif(tcpClient.Connected)listBox1.Items.Add(listIpe[iport].Address+"+"已打開+listIpe[iport].PortelselistBox1.SelectedIndex=listBox1.Items.Count-1;}finally{}//設(shè)置滾動(dòng)條if(progressBar1.Value<progressBar1.Maximum)progressBar1.Value++;break;}tcpClient.Close();}}#endregion#region4.1公用方法,拿到所有IPEndPoint對(duì)象publicList<IPEndPoint>GetListIP()#region1.1拿到所有IPEndPoint對(duì)象publicList<IPEndPoint>GetListIP()publicList<IPEndPoint>GetListIPE(){if(checkBox1.Checked)//如果是指定一個(gè)IP地址{IPAddressipa;if(IPAddress.TryParse(textBox6.Text.Trim(),outipa)){if(checkBox2.Checked)// 一個(gè)IP一個(gè)端口{IPEndPointipe=newIPEndPoint(ipa,Convert.ToInt32(textBox7.Text.Trim()));listIpe.Add(ipe);}else// 一個(gè)IP多個(gè)端口{intstartPort=Convert.ToInt32(textBox3.Text.Trim());intendPort=Convert.ToInt32(textBox4.Text.Trim());for(intj=startPort;j<=endPort;j++){IPEndPointipe=newIPEndPoint(ipa,j);listIpe.Add(ipe);}}}else{MessageBox.Show("IP地址轉(zhuǎn)換失敗!");//return;}}else//如果是指定IP地址圍{longstartIp;longendIp;longip1=IPToLong(textBox1.Text.Trim());longip2=IPToLong(textBox2.Text.Trim());List<IPAddress>listIp=newList<IPAddress>();if(ip1>ip2){startIp=ip2;endIp=ip1;}else{startIp=ip1;endIp=ip2;}for(longa=startIp;a<=endIp;a++){IPAddressipa=IPAddress.Parse(LongToIP(a));listIp.Add(ipa);}if(checkBox2.Checked)〃 多IP一個(gè)端口 {intonePort=Convert.ToInt32(textBox7.Text.Trim());IPEndPointipe;for(intj=0;j<listIp.Count;j++){ipe=newIPEndPoint(listIp[j],onePort);listIpe.Add(ipe);}}else// 多IP多端口 {intstartPort=Convert.ToInt32(textBox3.Text.Trim());intendPort=Convert.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45030-2024壽山石田黃鑒定
- 二零二五年酒店客房服務(wù)滿意度提升單位合同范本3篇
- 二零二五年度網(wǎng)絡(luò)安全防護(hù)服務(wù) XXX合同協(xié)議補(bǔ)充協(xié)議2篇
- 二零二五年高管薪酬體系調(diào)整與執(zhí)行合同3篇
- 2024版建設(shè)工程合同包括哪幾種形式
- 二零二五年研發(fā)合作協(xié)議及其技術(shù)轉(zhuǎn)讓條款2篇
- 2024汽修場(chǎng)地租賃及維修設(shè)備采購(gòu)合同范本2篇
- 二零二五年海南地區(qū)教育機(jī)構(gòu)勞動(dòng)合同示范文本3篇
- 2024年酒店式公寓共同開發(fā)協(xié)議
- 二零二五年度公益組織財(cái)務(wù)審計(jì)代理協(xié)議3篇
- 窗簾采購(gòu)?fù)稑?biāo)方案(技術(shù)方案)
- 司庫(kù)體系建設(shè)
- 居間合同范本解
- 機(jī)電傳動(dòng)單向數(shù)控平臺(tái)-礦大-機(jī)械電子-有圖
- 婦科病盆腔炎病例討論
- 人教版高中物理必修一同步課時(shí)作業(yè)(全冊(cè))
- 食堂油鍋起火演練方案及流程
- 《呼吸衰竭的治療》
- 有余數(shù)的除法算式300題
- 五年級(jí)上冊(cè)小數(shù)除法豎式計(jì)算練習(xí)300題及答案
- 【外資便利店在我國(guó)的經(jīng)營(yíng)策略分析案例:以日本羅森便利店為例11000字(論文)】
評(píng)論
0/150
提交評(píng)論