




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告題目端口檢測及IP包的捕獲解析學(xué)生姓名班級(jí)學(xué)號(hào)指導(dǎo)教師設(shè)計(jì)時(shí)間第一節(jié)實(shí)驗(yàn)平臺(tái)和器材準(zhǔn)備1.2實(shí)驗(yàn)平臺(tái)軟件開發(fā)環(huán)境Eclipse其他工具Jnetpcap,winpcap第二節(jié)需求分析2.1實(shí)驗(yàn)要求2.1.1基本要求本次實(shí)驗(yàn)的要求在網(wǎng)絡(luò)環(huán)境,實(shí)現(xiàn)端口檢測以及捕獲網(wǎng)絡(luò)中的IP數(shù)據(jù)包,解析數(shù)據(jù)包的內(nèi)容,將結(jié)果顯示在標(biāo)準(zhǔn)輸出上,并同時(shí)寫入日志文件。2.1.3詳細(xì)功能要求l)實(shí)現(xiàn)本機(jī)以及局域網(wǎng)內(nèi)計(jì)算機(jī)的端口監(jiān)控。2)在標(biāo)準(zhǔn)輸出和日志文件中寫入捕獲的IP包的版本、頭長度、服務(wù)類型、數(shù)據(jù)包總長度、數(shù)據(jù)包標(biāo)識(shí)、分段標(biāo)志、分段偏移值、生存時(shí)間、上層協(xié)議類型、頭校驗(yàn)和、源IP地址和目的IP地址等內(nèi)容。3)形成記錄結(jié)果的日志文件。第三節(jié)、概要設(shè)計(jì)3.1端口監(jiān)聽創(chuàng)建一個(gè)服務(wù)器s,依次開放0—65535間所有的端口,當(dāng)開放過程拋出IO流異常e,并且e是.BindException的一個(gè)實(shí)例時(shí),輸出該端口被占用。3.2IP包的捕獲與解析在Java平臺(tái)下通過第三方包來進(jìn)行底層網(wǎng)絡(luò)嗅探。使用JnetPCAP對(duì)接WinPCAP來截獲網(wǎng)卡數(shù)據(jù)包,分為四步走。第一步:獲取網(wǎng)卡列表。通過Pcap.findAllDevs(alldevs,errbuf)這個(gè)靜態(tài)方法將所有本機(jī)網(wǎng)卡加入到alldevs的List<PcapIf>中。然后選擇一個(gè)網(wǎng)卡進(jìn)行監(jiān)聽。第二步:打開連接調(diào)用Pcap.openLive(device.getName(),snaplen,flags,timeout,errbuf)靜態(tài)方法,返回一個(gè)Pcap對(duì)象。其中5個(gè)參數(shù)分別表示設(shè)備的系統(tǒng)名稱(不是設(shè)備別名)、每次捕捉的數(shù)據(jù)量、捕捉方式、超時(shí)和錯(cuò)誤信息緩沖區(qū)。第三步:監(jiān)聽抓包調(diào)用pcap.loop(intcnt,JPacketHandler<T>handler,Tuser)方法即可進(jìn)行監(jiān)聽,在loop方法的參數(shù)中有兩點(diǎn)需要關(guān)注,第一點(diǎn)是用戶指定的數(shù)據(jù)包分析器,在之后的文章中將詳細(xì)介紹;第二點(diǎn)是一個(gè)泛型參數(shù),表示傳輸給分析器的用戶指定類型的消息。第四步:數(shù)據(jù)包分析使用繼承JPacketHandler來實(shí)現(xiàn)自己的處理方法。<br>在JPacketHandler有一個(gè)nextPacket(JPacketpacket,Tuser)方法,這是典型的通過事件機(jī)制來實(shí)現(xiàn)處理數(shù)據(jù)包的方法。每當(dāng)Pcap嗅探到一個(gè)數(shù)據(jù)包后,調(diào)用用戶之前綁定的分析器中的nextPacket方法進(jìn)行處理。注意這個(gè)方法是阻塞的,也就避免了潛在的同步問題。傳進(jìn)的JPacket參數(shù)包含了這個(gè)數(shù)據(jù)包中的所有信息,通過不同的內(nèi)置Header分析器可以分析不同的協(xié)議。寫入日志函數(shù)使用Java寫入文件相關(guān)語句,將輸出流中的字節(jié)截取并寫入到TXT文件中。
第四節(jié)詳細(xì)設(shè)計(jì)4.1端口監(jiān)聽程序框圖是是Einstanceof.BindException?I=0是否開始I<65535?結(jié)束否輸出該端口被占用ServerSockets=newServerSocket(i)s.close()4.2端口監(jiān)聽關(guān)鍵代碼for(inti=0;i<65535;i++){try{ServerSockets=newServerSocket(i);//i表示要開放端口的號(hào)碼//System.out.println("port"+i+"canbeused.");s.close();//釋放綁定的端口}catch(IOExceptione){//.BindException要申請(qǐng)的端口因被占用而發(fā)生中斷異常//instanceof和><=類似,是運(yùn)算符,判斷其左邊對(duì)象是否為其右邊類的實(shí)例if(einstanceof.BindException){System.out.println(i+"areadyinuse.");}else{System.err.println("othererror..");4.2IP包捕獲與解析程序框圖4.2.1寫日志函數(shù)1.寫日志函數(shù)程序框圖輸入要寫入的字符串輸入要寫入的字符串iFilefile=newFile("D:\\java\\catchpage.txt")是否開始發(fā)生IO異常?結(jié)束寫入文件相關(guān)語句輸出異常信息2.寫日志函數(shù)關(guān)鍵代碼publicstaticvoidfilewrite(Stringi){ Filefile=newFile("D:\\java\\catchpage.txt"); Stringip=i; Stringenter="==========================================="; try{ file.createNewFile(); FileOutputStreamin=newFileOutputStream(file); in.write(enter.getBytes(),0,enter.getBytes().length);in.write(ip.getBytes(),0,ip.getBytes().length); in.flush();//刷新文件 in.close(); //文件讀出部分 /*FileReaderfr=newFileReader("D:\\java\\catchpage.txt"); BufferedReaderbr=newBufferedReader(fr); while(br.readLine()!=null){ Strings=br.readLine(); System.out.println(s); } br.close();*/ }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }4.2.1IP包捕獲與分析1.IP包捕獲與分析程序框圖輸出所有網(wǎng)卡信息輸出所有網(wǎng)卡信息輸出異常信息新建Pcapif類列表,構(gòu)造一個(gè)可以被Pcap.openLive()打開的網(wǎng)絡(luò)設(shè)備列表,新建一個(gè)StringBuider對(duì)象是否否是打開連接成功?開始調(diào)用Pcap.openLive()打開連接設(shè)備列表構(gòu)造不成功||為空?將解析后的包內(nèi)容調(diào)用toString()函數(shù)轉(zhuǎn)為字符串格式,調(diào)用寫入日志函數(shù)結(jié)束選擇要監(jiān)聽網(wǎng)卡號(hào),設(shè)置截取包大小,截取模式,超時(shí)時(shí)間進(jìn)入抓包循環(huán),抓包成功后調(diào)用nextPacket()解析包輸出異常信息pcap.close()2.IP捕獲與分析關(guān)鍵代碼 publicstaticvoidmain(String[]args)throwsInterruptedException{//拋出中斷異常 //Pcapif類用一個(gè)模擬鏈表來表示類 List<PcapIf>alldevs=newArrayList<PcapIf>(); StringBuildererrbuf=newStringBuilder(); //StringBuilder課新建一個(gè)可變長的字符串 intr=Pcap.findAllDevs(alldevs,errbuf); //構(gòu)造一個(gè)可以被Pcap.openLive()打開的網(wǎng)絡(luò)設(shè)備列表,返回1表示失敗,0成功 if(r==Pcap.NOT_OK||alldevs.isEmpty()){//NOT_OK=-1 System.err.printf("Can'treadlistofdevices,erroris%s", errbuf.toString()); return; } for(PcapIfpif:alldevs){ System.out.println(pif.getName());//輸出網(wǎng)卡名稱 } PcapIfpif=alldevs.get(2);//選擇要監(jiān)控的設(shè)備號(hào) //2打開連接,返回一個(gè)Pcap對(duì)象 intsnaplen=64*1024;//截取包的大小 intflags=Pcap.MODE_PROMISCUOUS;//決定模式是否為混雜,1表示混雜,0是非混雜 inttimeout=10*1000;//設(shè)置超時(shí),單位是毫秒 //Pcap.openLive()打開一個(gè)從網(wǎng)絡(luò)中及時(shí)捕獲的連接 Pcappcap=Pcap.openLive(pif.getName(),snaplen,flags,timeout, errbuf);//errbuf錯(cuò)誤緩沖池,snaplen每次捕捉的數(shù)據(jù)量,flags捕捉方式 if(pcap==null){ System.err.printf("Errorwhileopeningdeviceforcapture:" +errbuf.toString()); return; } //如果成功返回了Pcap對(duì)象,就進(jìn)入監(jiān)聽抓包循環(huán)nextPacket對(duì)包進(jìn)行分析 //Pcap.LOOP_INFINITE,整型,表示loop循環(huán)一直不結(jié)束,直到出現(xiàn)錯(cuò)誤或中斷 //JPacketHandler<StringBuilder>接受從libcap庫中譯碼的包pcap.loop( Pcap.LOOP_INFINITE,newJPacketHandler<StringBuilder>(){//進(jìn)入抓包循環(huán) finalTcptcp=newTcp(); finalHttphttp=newHttp(); finalIp4ip=newIp4(); //通過事件機(jī)制來實(shí)現(xiàn)處理數(shù)據(jù)包,Pcap嗅探到一個(gè)數(shù)據(jù)包后, //調(diào)用用戶之前綁定的分析器中的nextPacket方法進(jìn)行處理 //nextPacket當(dāng)捕獲一個(gè)新的數(shù)據(jù)包后有l(wèi)ibcap或jnetpcap掃描器回調(diào) publicvoidnextPacket(JPacketpacket,StringBuildererrbuf){ //以下是捕獲tcp包信息和http包的信息 /*if(packet.hasHeader(Tcp.ID)){ packet.getHeader(tcp); } if(packet.hasHeader(tcp)){ System.out.println("\n下面是tcp包部分:"); System.out.printf("tcpheader::%s%n",tcp.toString()); } if(packet.hasHeader(tcp)&&packet.hasHeader(http)){ System.out.println("\n下面是http包部分:"); System.out.printf("httpheader::%s%n",http); } */ if(packet.hasHeader(ip)){ System.out.print(ip); filewrite(ip.toString());//調(diào)用寫入日志函數(shù) } } },errbuf); pcap.close();//關(guān)閉會(huì)話 }}第五節(jié)實(shí)驗(yàn)結(jié)果分析5.1實(shí)驗(yàn)結(jié)果展示5.1.1端口監(jiān)聽1.關(guān)閉局域網(wǎng)2.打開局域網(wǎng)5.1.2IP包的捕獲與解析析1、捕獲網(wǎng)卡信息2.IP包解析結(jié)果3.日志文件生成 4.日志內(nèi)容5.1實(shí)驗(yàn)結(jié)果分析5.1.1端口監(jiān)聽結(jié)果展示界面中顯示有較多接口被占用,其中53號(hào)端口為DNS服務(wù),所以在打開局域網(wǎng)的時(shí)候可以發(fā)現(xiàn)53號(hào)端口被占用,而關(guān)閉局域網(wǎng)后發(fā)現(xiàn)該端口未被占用;135號(hào)端口主要用于使用RPC(RemoteProcedureCall,遠(yuǎn)程過程調(diào)用)協(xié)議并提供DCOM(分布式組件對(duì)象模型)服務(wù)。8086屬于TCP端口號(hào),是一種分布式SCADA網(wǎng)絡(luò)對(duì)接端口。5.1.2IP包的捕獲與解析在運(yùn)行的結(jié)果中,各個(gè)信息分別表示:*******Ip4-"ipversion4"-offset=14(0xE)length=20protocolsuite=NETWORKLength表示報(bào)頭長度20字節(jié),suite表示協(xié)議棧是networkversion=4Version表示IP版本號(hào)為4hlen=5[5*4=20bytes,NoIpOptions]hlen表示報(bào)頭長度20字節(jié),沒有選擇項(xiàng)字段,而之所以要定義頭長度變量,是因?yàn)椴煌倪x擇項(xiàng)字段不同diffserv=0x0(0)Diffserv表示區(qū)分服務(wù)體系結(jié)構(gòu),它基于類的QoS技術(shù),保證IP的服務(wù)質(zhì)量000000..=[0]codepoint:notset..0.=[0]ECNbit:notset...0=[0]ECEbit:notsetlength=52length報(bào)文總長度id=0x353E(13630)ID表示該數(shù)據(jù)包的標(biāo)識(shí)符flags=0x2(2)Flags表示該數(shù)據(jù)包是否分片,第二位是不分片位(DF),當(dāng)DF被設(shè)置被設(shè)置為1時(shí),表示路由器不能對(duì)報(bào)文進(jìn)行分片處理。第三位表示還有后繼分片(MF),當(dāng)路由器對(duì)報(bào)文進(jìn)行分片時(shí),除了最后一個(gè)分片的MF位設(shè)置為0外,其他所有分片的MF位均設(shè)置1,以便接收者直到收到MF位為0的分片為止。0..=[0]reserved預(yù)留.1.=[1]DF:donotfragment:set..0=[0]MF:morefragments:notsetoffset=0Offset表示分片偏移,由于該數(shù)據(jù)包未分片,所以分片偏移為0ttl=64[timetolive]type=6[next:TransmissionControl]Type表示優(yōu)先權(quán)和服務(wù)類型TOS,其中優(yōu)先權(quán)分別為:000:路由 001:優(yōu)先級(jí) 010:立即 011:火速 100:火速覆蓋 101:緊急 110:互聯(lián)網(wǎng)絡(luò)控制111:網(wǎng)絡(luò)控制,該數(shù)據(jù)包的優(yōu)先權(quán)值為110,表示互聯(lián)網(wǎng)控制優(yōu)先;其服務(wù)類型是傳輸控制checksum=0x6D7C(28028)[correct]Checksum表示頭校驗(yàn)和,以及給出的判斷source=37destination=68第六節(jié)錯(cuò)誤調(diào)試6.1數(shù)據(jù)庫連接錯(cuò)誤6.1.1解決方案發(fā)現(xiàn)數(shù)據(jù)庫TCPIP沒開打開啟用后正常6.2POST亂碼解決方式6.2.1錯(cuò)誤表現(xiàn)6.2.2解決方案加上上面的代碼后正常6.3Socket連接錯(cuò)誤6.3.1錯(cuò)誤表現(xiàn)6.3.2產(chǎn)生錯(cuò)誤的原因6.3.3解決方式優(yōu)化Socket連接,并且在數(shù)據(jù)發(fā)送接收完畢后關(guān)閉流。第八節(jié)實(shí)驗(yàn)總結(jié)這次的計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)共做了兩個(gè)方面的實(shí)驗(yàn),一個(gè)是端口監(jiān)聽,一個(gè)是IP包的捕獲與解析。這兩個(gè)實(shí)驗(yàn)跟平常電腦的實(shí)驗(yàn)都有關(guān)系,其中端口檢測在以前參加學(xué)校專業(yè)的創(chuàng)意作品賽時(shí)作為了該作品的切入點(diǎn),那時(shí)是宏觀的設(shè)計(jì),在這次的課程設(shè)計(jì)中進(jìn)行了實(shí)踐,比較有收獲。IP包的捕獲實(shí)驗(yàn)以前在計(jì)算機(jī)網(wǎng)絡(luò)的課堂上看到了用Wireshark抓包工具進(jìn)行捕獲,這次的課程設(shè)計(jì)相當(dāng)于用Java語言自己寫出一個(gè)抓包工具,雖然有很多瑕疵,但還是比較有成就感的。并且這兩部分的實(shí)驗(yàn),基本上都使用了新的工具,在實(shí)踐過程中,學(xué)到了很多相關(guān)工具的知識(shí),現(xiàn)在總結(jié)一下。在端口檢測部分,學(xué)到了幾個(gè)異常類對(duì)象的使用:IOException異常簡介:IOException指發(fā)生I/O錯(cuò)誤時(shí)引發(fā)的異常。IOException是使用流、文件和目錄訪問信息時(shí)引發(fā)的異常的基類。BindException異常類簡介:BindException是.net包中的一個(gè)類,當(dāng)一個(gè)端口是因?yàn)楸徽加枚鴴伋霎惓?,該異常將是BindException的一個(gè)實(shí)例。printStackTrace:在命令行打印異常信息在程序中出錯(cuò)的位置及原因。在IP包捕獲與解析部分學(xué)會(huì)了使用兩個(gè)工具,分別為WinPCAP和JnetPcap。winpcap(windowspacketcapture)是windows平臺(tái)下一個(gè)免費(fèi),公共的網(wǎng)絡(luò)訪問系統(tǒng)??梢詾閣in32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力。它用于windows系統(tǒng)下的直接的網(wǎng)絡(luò)編程。Winpcap提供了一個(gè)強(qiáng)大的編程接口,它很容易地在各個(gè)操作系統(tǒng)之間進(jìn)行移植。jNetPcap是libpcap的一個(gè)Java完整封裝,它通過對(duì)接了WinPcap來截獲網(wǎng)卡數(shù)據(jù)包。jNetPcap使用與libpcap相同風(fēng)格的API。libpcap是unix/linux平臺(tái)下的網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)庫,大多數(shù)網(wǎng)絡(luò)監(jiān)控軟件都以它為基礎(chǔ)。使用JNetPcap之前必須在目標(biāo)系統(tǒng)中安裝WinPcap(Windows系統(tǒng)),以提供JNetPcap所需要的鏈接庫。另外要把JNetPcap包和所屬的dll文件都加入到開發(fā)目錄的環(huán)境變量中。Pcap類是JNetPcap中最為核心的類,是一個(gè)對(duì)LibPcap中方法的Java直接映射,提供了取得網(wǎng)卡設(shè)備列表、打開嗅探、設(shè)置過濾器等等必須的工作。有關(guān)于Jnetpcap中PcapIf、packet、protocol包中相關(guān)類方法的詳解參照代碼注釋。第九節(jié)參考資料[1]AndrewS.Tanenbaum著潘愛民,徐明偉譯.計(jì)算機(jī)網(wǎng)絡(luò)(第四版).清華大學(xué)出 版社.2006.03.[2]BruceEckelChuckAllison,陳昊鵬譯.Java高級(jí)編程(第四版). 機(jī)械工業(yè)出版社 社.2007.06
附件:端口監(jiān)聽部分源代碼:packagelistenport;importjava.io.IOException;import.ServerSocket;import.SocketAddress;publicclassListenport{publicstaticvoidmain(String[]args){/* try{ ServerSocketss=newServerSocket(8080); ServerSocketss2=newServerSocket(8888); }catch(IOExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } */for(inti=0;i<65535;i++){try{ServerSockets=newServerSocket(i);//表示要監(jiān)聽端口的號(hào)碼//System.out.println("port"+i+"canbeused.");//s.close();//立即釋放綁定的端口}catch(IOExceptione){ //.BindException要申請(qǐng)的端口因被占用而發(fā)生中斷異常 //instanceof和><=類似,是運(yùn)算符,判斷其左邊對(duì)象是否為其右邊類的實(shí)例if(einstanceof.BindException){System.out.println(i+"areadyinuse.");}else{System.err.println("othererror..");}}}}}IP包捕獲部分源代碼:
packagecatchpage;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileOutputStream;importjava.io.FileReader;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.jnetpcap.Pcap;//對(duì)LibPcap中方法的Java直接映射importorg.jnetpcap.PcapIf;importorg.jnetpcap.packet.JPacket;importorg.jnetpcap.packet.JPacketHandler;//下一個(gè)數(shù)據(jù)包importtocol.tcpip.Http;importtocol.tcpip.Tcp;importwork.Ip4;publicclassCatchpage{//IP包的版本、服務(wù)類型、數(shù)據(jù)包總長度、分段標(biāo)志、分段偏移值、//生存時(shí)間、上層協(xié)議類型、等內(nèi)容。 //寫日志函數(shù) publicstaticvoidfilewrite(Stringi){ Filefile=newFile("D:\\java\\catchpage.txt"); Stringip=i; Stringenter="==========================================="; try{ file.createNewFile(); FileOutputStreamin=newFileOutputStream(file); in.write(enter.getBytes(),0,enter.getBytes().length); in.write(ip.getBytes(),0,ip.getBytes().length); in.flush();//刷新文件 in.close(); //文件讀出部分 /*FileReaderfr=newFileReader("D:\\java\\catchpage.txt"); BufferedReaderbr=newBufferedReader(fr); while(br.readLine()!=null){ Strings=br.readLine(); System.out.println(s); } br.close();*/ }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } //1...獲得網(wǎng)卡列表 publicstaticvoidmain(String[]args)throwsInterruptedException{//拋出中斷異常 //Pcapif類用一個(gè)模擬鏈表來表示類 List<PcapIf>alldevs=newArrayList<PcapIf>(); StringBuildererrbuf=newStringBuilder(); //StringBuilder課新建一個(gè)可變長的字符串 intr=Pcap.findAllDevs(alldevs,errbuf); //構(gòu)造一個(gè)可以被Pcap.openLive()打開的網(wǎng)絡(luò)設(shè)備列表,返回1表示失敗,0成功 if(r==Pcap.NOT_OK||alldevs.isEmpty()){//NOT_OK=-1 System.err.printf("Can'treadlistofdevices,erroris%s", errbuf.toString()); return; } for(PcapIfpif:alldevs){ System.out.println(pif.getName());//輸出網(wǎng)卡名稱 } PcapIfpif=alldevs.get(2);//選擇要監(jiān)控的設(shè)備號(hào) //2打開連接,返回一個(gè)Pcap對(duì)象 intsnaplen=64*1024;//截取包的大小 intflags=Pcap.MODE_PROMISCUOUS;//決定模式是否為混雜,1表示混雜,0是非混雜 inttimeout=10*1000;//設(shè)置超時(shí),單位是毫秒 //Pcap.openLive()打開一個(gè)從網(wǎng)絡(luò)中及時(shí)捕獲的連接 Pcappcap=Pcap.openLive(pif.getName(),snaplen,flags,timeout, errbuf);//errbuf錯(cuò)誤緩沖池,snaplen每次捕捉的數(shù)據(jù)量,flags捕捉方式 if(pcap==null){ System.err.printf("Errorwhileopeningdeviceforcapture:" +errbuf.toString()); return; } //如果成功返回了Pcap對(duì)象,就進(jìn)入監(jiān)聽抓包循環(huán)nextPacket對(duì)包進(jìn)行分析 //Pcap.LOOP_INFINITE,整型,表示loop循環(huán)一直不結(jié)束,直到出現(xiàn)錯(cuò)誤或中斷 //JPacketHandler<StringBuilder>接受從libcap庫中譯碼的包pcap.loop( Pcap.LOOP_INFINITE,newJPacketHandler<StringBuilder>(){//進(jìn)入抓包循環(huán) finalTcptcp=newTcp(); finalHttphttp=newHttp(); finalIp4ip=newIp4(); //通過事件機(jī)制來實(shí)現(xiàn)處理數(shù)據(jù)包,Pcap嗅探到一個(gè)數(shù)據(jù)包后, //調(diào)用用戶之前綁定的分析器中的nextPacket方法進(jìn)行處理 //nextPacket當(dāng)捕獲一個(gè)新的數(shù)據(jù)包后有l(wèi)ibcap或jnetpcap掃描器回調(diào) publicvoidnextPacket(JPacketpacket,StringBuildererrbuf){ //以下是捕獲tcp包信息和http包的信息 /*if(packet.hasHeader(Tcp.ID)){ packet.getHeader(tcp); } if(packet.hasHeader(tcp)){ System.out.println("\n下面是tcp包部分:"); System.out.printf("tcpheader::%s%n",tcp.toString()); } if(packet.hasHeader(tcp)&&packet.hasHeader(http)){ System.out.println("\n下面是http包部分:"); System.out.printf("httpheader::%s%n",http); } */ if(packet.hasHeader(ip)){ System.out.print(ip); filewrite(ip.toString());//調(diào)用寫入日志函數(shù) } } },errbuf); pcap.close();//關(guān)閉會(huì)話 }}基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動(dòng)譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機(jī)與Internet互聯(lián)的研究與實(shí)現(xiàn)變頻調(diào)速液壓電梯單片機(jī)控制器的研究基于單片機(jī)γ-免疫計(jì)數(shù)器自動(dòng)換樣功能的研究與實(shí)現(xiàn)基于單片機(jī)的倒立擺控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)HYPERLINK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級(jí)上冊(cè)數(shù)學(xué)教學(xué)設(shè)計(jì)-第三單元第1課時(shí) 因數(shù)與倍數(shù) 北師大版
- 一年級(jí)下冊(cè)數(shù)學(xué)教案-綜合實(shí)踐 趣味拼擺| 青島版(五四學(xué)制)
- 學(xué)習(xí)2025年雷鋒精神六十二周年主題活動(dòng)實(shí)施方案 (3份)-54
- 2025年河南測繪職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 2025年廣西安全工程職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫含答案
- 2025年廣東金融學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 2025年貴州航天職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫一套
- 2025福建省安全員考試題庫及答案
- 2025年度幼兒園教職工被辭退勞動(dòng)權(quán)益保護(hù)合同
- 2025年度幼兒園實(shí)習(xí)教師培養(yǎng)與就業(yè)服務(wù)協(xié)議
- 安全環(huán)保法律法規(guī)
- 2025年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 建設(shè)工程質(zhì)量安全監(jiān)督人員考試題庫含答案
- 電氣控制技術(shù)項(xiàng)目化教程 第2版 課件 項(xiàng)目1、2 低壓電器的選用與維修、電動(dòng)機(jī)直接控制電路
- 2025年上半年山東人才發(fā)展集團(tuán)限公司社會(huì)招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 小兒腸系膜淋巴結(jié)護(hù)理查房
- 2025年度文化創(chuàng)意產(chǎn)業(yè)園區(qū)入駐及合作協(xié)議3篇
- 【MOOC期末】《大學(xué)體育射箭》(東南大學(xué))中國大學(xué)慕課答案
- 2024年山東理工職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 三叉神經(jīng)痛的護(hù)理問題
- 2025北京平谷初三(上)期末數(shù)學(xué)真題試卷(含答案解析)
評(píng)論
0/150
提交評(píng)論