第一篇:數(shù)據(jù)包捕獲與協(xié)議實(shí)驗(yàn)報告
計算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)(實(shí)習(xí))報告
Ⅰ.實(shí)驗(yàn)(實(shí)習(xí))名稱 :數(shù)據(jù)包捕獲與協(xié)議分析
實(shí)驗(yàn)(實(shí)習(xí))日期
專業(yè)姓名:學(xué)號:(或使用青島農(nóng)業(yè)大學(xué)實(shí)驗(yàn)報告紙)
1、實(shí)驗(yàn)?zāi)康模?)掌握網(wǎng)絡(luò)協(xié)議分析工具Ethereal的使用方法;
(2)截獲數(shù)據(jù)包并對它們觀察和分析,了解協(xié)議的運(yùn)行機(jī)制;
2、實(shí)驗(yàn)內(nèi)容:
(1)設(shè)計一個捕獲HTTP實(shí)現(xiàn)的完整過程,并對捕獲的結(jié)果進(jìn)行分析和統(tǒng)計。
要求:
(2)設(shè)計一個捕獲TCP實(shí)現(xiàn)的完整過程,并對捕獲的結(jié)果進(jìn)行分析和統(tǒng)計。
要求:給出捕獲某一數(shù)據(jù)包后的屏幕截圖。以16進(jìn)制形式顯示其包的內(nèi)容,并分析
TCP報文(源端口、目的端口、序號、確認(rèn)號,ACK、SYN、窗口等)。
(3)設(shè)計一個捕獲ICMP實(shí)現(xiàn)的完整過程,并對捕獲的結(jié)果進(jìn)行分析和統(tǒng)計
要求:給出捕獲某一數(shù)據(jù)包后的屏幕截圖。以16進(jìn)制形式顯示其包的內(nèi)容,并分析
該ICMP報文。
(4)設(shè)計一個捕獲IP數(shù)據(jù)包的過程,并對捕獲的結(jié)果進(jìn)行分析和統(tǒng)計
要求:給出捕獲某一數(shù)據(jù)包后的屏幕截圖。以16進(jìn)制形式顯示其包的內(nèi)容,并分析
在該數(shù)據(jù)包中的內(nèi)容:版本首部長度、服務(wù)類型、總長度、標(biāo)識、片偏移、壽命、協(xié)議、源Ip地址、目的地址
3.實(shí)驗(yàn)總結(jié)(掌握了哪些內(nèi)容?遇到了什么問題?如何解決的?你的體會或收獲如何?)
第二篇:計算機(jī)網(wǎng)絡(luò)課程設(shè)計_IP數(shù)據(jù)包的捕獲與分析[范文]
CENTRAL SOUTH UNIVERSITY
計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告
目錄
第一章 課程設(shè)計的目的與要求..........................錯誤!未定義書簽。1.1 課程設(shè)計的目的...................................錯誤!未定義書簽。1.2 課程設(shè)計的要求....................................................1 第二章 課程設(shè)計的內(nèi)容.................................................3 2.1 課程設(shè)計的內(nèi)容....................................................3 2.2 內(nèi)容的要求........................................................3 第三章 程序分析與設(shè)計.................................................4 3.1 IP數(shù)據(jù)包..........................................................4 3.1.1 IP數(shù)據(jù)包的格式說明..........................................4 3.1.2 IP數(shù)據(jù)包的格式..............................................4 3.1.3 IP數(shù)據(jù)包的C++定義...........................................5 3.1.4 IP數(shù)據(jù)包的解析..............................................6 3.2 套接字............................................................7 3.1.4 套接字的使用.................................................7 3.1.4 使用原始套接字...............................................7 3.3 接受數(shù)據(jù)包........................................................7 第四章 實(shí)驗(yàn)結(jié)果.......................................................10 4.1 程序截圖.........................................................10 第五章 總結(jié)..........................................................11 5.1 實(shí)驗(yàn)心得.........................................................11 第六章 附錄..........................................................12 6.1 源代碼...........................................................12
第一章 課程設(shè)計的目的與要求
1.1 課程設(shè)計的目的
計算機(jī)網(wǎng)絡(luò)課程設(shè)計的目的,是為了讓學(xué)生更深入地掌握計算機(jī)網(wǎng)絡(luò)的核心內(nèi)容,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合。讓學(xué)生用具體的實(shí)踐成果,體現(xiàn)對理論知識的掌握程度。有利于學(xué)生提高計算機(jī)網(wǎng)絡(luò)的實(shí)踐能力,加深對計算機(jī)網(wǎng)絡(luò)理論知識的理解。
1.2 課程設(shè)計的要求
(1)編寫程序,實(shí)現(xiàn)系統(tǒng)的基本功能,鼓勵自行增加新功能;
(2)要有用戶界面:要求至少采用文本菜單界面;鼓勵采用圖形菜單界面;(3)寫課程設(shè)計報告,內(nèi)容包括: ? 封面(參見附錄I)
? 需求分析:以無歧義的陳述說明程序設(shè)計的任務(wù),強(qiáng)調(diào)的是程序要做什么?給出功能模塊圖和流程圖。同時明確規(guī)定:輸入的形式和輸出值的范圍;輸出的形式;程序所能夠達(dá)到的功能;測試數(shù)據(jù),包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入及其輸出結(jié)果。
? 概要設(shè)計:包括程序設(shè)計組成框圖,程序中使用的存儲結(jié)構(gòu)設(shè)計說明(如果指定存儲結(jié)構(gòu)請寫出該存儲結(jié)構(gòu)的定義)。
? 詳細(xì)設(shè)計:包括模塊功能說明(如函數(shù)功能、入口及出口參數(shù)說明,函數(shù)調(diào)用關(guān)系描述等),每個模塊的算法設(shè)計說明(可以是描述算法的流程圖)。其中源程序要按照寫程序的規(guī)則來編寫,結(jié)構(gòu)清晰,重點(diǎn)函數(shù)的重點(diǎn)變量,重點(diǎn)功能部分要加上清晰的程序注釋。
? 運(yùn)行結(jié)果:包括典型的界面、輸入和輸出數(shù)據(jù)等;
? 總結(jié):包括課程設(shè)計中遇到的問題,解決問題的過程及體會、收獲、對課程設(shè)計的認(rèn)識與思考等。
? 附錄:包括主要程序清單,要有適當(dāng)?shù)淖⑨專钩绦蛉菀组喿x。
(4)課程設(shè)計報告書寫規(guī)范參見附錄II,不按照規(guī)范書寫的,成績不能評為“優(yōu)”或“良”。
(5)無論在校外、校內(nèi),都要嚴(yán)格遵守學(xué)校和所在單位的學(xué)習(xí)和勞動紀(jì)律、1 規(guī)章制度,學(xué)生有事離校必須請假。課程設(shè)計期間,無故缺席按曠課處理;缺席 時間達(dá)四分之一以上者,其成績按不及格處理。
第二章 課程設(shè)計的內(nèi)容
2.1 課程設(shè)計的內(nèi)容
本次實(shí)驗(yàn)的要求在網(wǎng)絡(luò)環(huán)境,使用VC++編寫程序?qū)崿F(xiàn)捕獲網(wǎng)絡(luò)中的IP數(shù)據(jù)包,解析數(shù)據(jù)包的內(nèi)容,將結(jié)果顯示在標(biāo)準(zhǔn)輸出上,并同時寫入日志文件。
2.2 內(nèi)容的要求
(1)以命令行形式運(yùn)行(應(yīng)如程序名+參數(shù)名):ipparse logfile,其中ipparse是程序名,而logfile為該程序所帶參數(shù),其代表記錄結(jié)果的日志文件。(2)在標(biāo)準(zhǔn)輸出和日志文件中寫入捕獲的IP包的版本、頭長度、服務(wù)類型、數(shù)據(jù)包總長度、數(shù)據(jù)包標(biāo)識、分段標(biāo)志、分段偏移值、生存時間、上層協(xié)議類型、頭校驗(yàn)和、源IP地址和目的IP地址等內(nèi)容。(3)當(dāng)程序接收到鍵盤輸入Ctrl+C時退出。
第三章 程序設(shè)計與分析
3.1 IP數(shù)據(jù)包
3.1.1 IP數(shù)據(jù)包的格式說明
IP數(shù)據(jù)包格式包含了標(biāo)頭固定部分,標(biāo)頭可變部分和數(shù)據(jù)區(qū)三部分。IP數(shù)據(jù)報標(biāo)頭部分固定為20個字節(jié),其中包含了12個參數(shù)域,各參數(shù)域隱含著網(wǎng)間協(xié)議的傳輸機(jī)制。IP具體的標(biāo)頭格式如圖1所示。
各參數(shù)域的具體含義如下:
1)版本號:長度4位,表示所使用的IP協(xié)議的版本。IPv4版本號字段值為4;IPV6版本號字段號的值為6.2)標(biāo)頭長:長度4位,定義了一個以4B為一個單位的IP包的報頭長度 3)服務(wù)類型:共8位,高3位組成優(yōu)先級子域,隨后4位組成服務(wù)類型子域。4)數(shù)據(jù)報總長度:總長度為2B(即6位)。定義了以字節(jié)為單位的數(shù)據(jù)報的總長度。5)重裝標(biāo)識:長度16位,用于識別IP數(shù)據(jù)報的編號,讓目的主機(jī)判斷新來的數(shù)據(jù)屬于哪個分組。
6)分片標(biāo)識:共3位,最高位為0;DF禁止分片標(biāo)識。DF=0,可以分片;DF=1,不能分片。MF:分片標(biāo)識。MF=0,表示接的是最后一個分片;MF=1,不是最后一個分片。
7)片偏移值:共13位,說明分片在整個數(shù)據(jù)報中的相對位置。
8)生存周期:8位,用來設(shè)置數(shù)據(jù)數(shù)據(jù)報在整個網(wǎng)絡(luò)傳輸過程中的壽命。常以一個數(shù)據(jù)報可以經(jīng)過的最多的路由器跳步數(shù)來控制。9)協(xié)議類型:共8位,表示該IP數(shù)據(jù)報的高層協(xié)議類型。10)標(biāo)頭校驗(yàn)和:共16位,用于存放檢查報頭錯誤的校驗(yàn)碼。
11)源、宿主機(jī)地址:共32位,分別表示發(fā)送和接受數(shù)據(jù)報的源主機(jī)和宿主機(jī)的IP地址。
選項(xiàng)數(shù)據(jù)域:0-40B,用于控制和測試
3.1.2 IP數(shù)據(jù)包的格式
4位版本4位首部長度8位服務(wù)類型(TOS)3位標(biāo)志8位協(xié)議32位源IP地址32位目的IP地址16位總長度(字節(jié)為單位)13位片偏移16位首部檢驗(yàn)和16位標(biāo)識8位生存時間(TTL)
3.1.3 IP數(shù)據(jù)包的C++定義 typedef struct _IP { union {
BYTE Version;// 版本
BYTE HdrLen;//IHT };BYTE ServiceType;// 服務(wù)類型 WORD TotalLen;// 總長
WORD ID;// 標(biāo)識
union {
WORD Flags;// 標(biāo)志
WORD FragOff;// 分段偏移
};BYTE TimeToLive;// 生命期
BYTE Protocol;// 協(xié)議
WORD HdrChksum;// 頭校驗(yàn)和
DWORD SrcAddr;// 源地址
DWORD DstAddr;// 目的地址 BYTE Options;// 選項(xiàng)
} IP;
3.1.4 IP數(shù)據(jù)包的解析
通過IP_HEADER解析IP頭各個字段的代碼: /*獲取版本字段*/ ip.Version>>4;/*獲取頭部長度字段*/ ip.HdrLen & 0x0f;/*獲取服務(wù)類型字段中的優(yōu)先級子域*/ ip.ServiceType>>5;/*獲取服務(wù)類型字段中的TOS子域*/(ip.ServiceType>>1)&0x0f;/*獲取總長度字段*/ ip.TotalLen;/*獲取標(biāo)識字段*/ ip.ID;/*解析標(biāo)志字段*/ DF =(ip.Flags>>14)& 0x01;MF =(ip.Flags>>13)& 0x01;/*獲取分段偏移字段*/ ip.FragOff & 0x1fff;/*獲取生存時間字段*/ ip.TimeToLive;/*獲取協(xié)議字段*/ ip.Protocol;/*獲取頭校驗(yàn)和字段*/ ip.HdrChksum;/*解析源IP地址字段*/ inet_ntoa(*(in_addr*)&ip.SrcAddr);/*解析目的IP地址字段*/ inet_ntoa(*(in_addr*)&ip.DstAddr);3.2 套接字
3.2.1 套接字的使用
本程序使用套接字socket編程,將網(wǎng)卡設(shè)為能夠接受流經(jīng)網(wǎng)卡的所有類型的數(shù)據(jù)包。首先,初始化套接字,然后監(jiān)聽數(shù)據(jù)包,解析數(shù)據(jù)包。
SOCKET sock=socket(AF_INET,SOCK_RAW,IPPROTO_IP)用來創(chuàng)建套接字,其參數(shù)為通信發(fā)生的區(qū)字段和套接字的類型。
WSAIoctl(sock,IO_RCVALL ,&dwBufferInLen , sizeof(dwBufferInLen)函數(shù)用來把網(wǎng)卡設(shè)置為混雜模式。
recv(sock,buffer,65535,0)函數(shù)用來接收經(jīng)過的IP包,其參數(shù)分別是套接字描述符,緩沖區(qū)的地址,緩沖區(qū)的大小。
3.2.1 使用原始套接字
要進(jìn)行IP層數(shù)據(jù)包的接收和發(fā)送,應(yīng)使用原始套接字。創(chuàng)建原始套接字的代碼如下:
SOCKET sock;sock=WSASoccket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0, WSA_FLAG_OVERLAPPED);在WSASoccket函數(shù)中,第一個參數(shù)指定通信發(fā)生的區(qū)字段,AF_INET是針對Internet的,允許在遠(yuǎn)程主機(jī)之間通信。第二個參數(shù)是套接字的類型,在AF_INET地址族下,有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW三種套接字類型。在這里,設(shè)置為SOCK_RAW,表示聲明的是一個原始套接字類型。第三個參數(shù)依賴于第二個參數(shù),用于指定套接字所有的特定協(xié)議,這里使用IP協(xié)議。第四個參數(shù)為WSAPROTOCOL_INFO位,該位可以置空。第五個參數(shù)保留,永遠(yuǎn)置0。第六個參數(shù)是標(biāo)志位,WSA_FLAG_OVERLAPPED表明可以使用發(fā)送接收超時設(shè)置。
創(chuàng)建原始套接字后,IP頭就會包含在接收的數(shù)據(jù)中。然后,可以設(shè)置IP頭操作選項(xiàng),調(diào)用setsockopt函數(shù)。其中flag設(shè)置為true,并設(shè)定IP_HDRINCL選項(xiàng),表明用戶可以親自對IP頭進(jìn)行處理。
BOOL flag=true;setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(CHAR*)&flag,sizeof(flag));之后,使用如下代碼完成對socket的初始化工作: /*獲取主機(jī)名*/ char hostName[128];gethostname(hostName,100);/*獲取本地IP地址*/ hostent * pHostIP;pHostIP = gethostbyname(hostName);/*填充SOCKADDR_IN結(jié)構(gòu)的內(nèi)容*/ sockaddr_in addr_in;addr_in.sin_addr = *(in_addr *)pHostIP->h_addr_list[0];addr_in.sin_family = AF_INET;addr_in.sin_port = htons(6000);/*綁定socket*/ bind(sock,(PSOCKADDR)&addr_in,sizeof(addr_in));填寫sockaddr_in的內(nèi)容時,其地址值應(yīng)填寫為本機(jī)IP地址,本機(jī)IP地址可以通過gethostbyname()函數(shù)獲?。欢丝谔柨梢噪S便填寫,但不能與系統(tǒng)沖突;協(xié)議族應(yīng)填為AF_INET。使用htons()函數(shù)可以將無符號短整型的主機(jī)數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序的數(shù)據(jù)。最后使用bind(0函數(shù)將socket綁定到本機(jī)網(wǎng)卡上。綁定網(wǎng)卡后,需要用WSAIoctl()函數(shù)把網(wǎng)卡設(shè)置為混雜模式,使網(wǎng)卡能夠接收所有網(wǎng)絡(luò)數(shù)據(jù),其關(guān)鍵代碼如下:
#define SIO_RCVALL_WSAIOW(IOC_VENDOR,1)DWORD dwBufferLen[10];DWORD dwBufferInLen = 1;DWORD dwBytesReturned = 0;WSAIoct1(SnifferSocket, IO_RCVALL,&dwBufferInLen,sizeof(dwBufferInLen),&dwBufferLen,sizeof(dwBufferLen),&dwBytesReturned,NULL,NULL);如果接收的數(shù)據(jù)包中的協(xié)議類型和定義的原始套接字匹配,那么接收到的數(shù)據(jù)就拷貝到套接字中。因此,網(wǎng)卡就可以接收所有經(jīng)過的IP包。
3.3 接收數(shù)據(jù)包 在程序中可使用recv()函數(shù)接收經(jīng)過的IP包。該函數(shù)有四個參數(shù),第一個參數(shù)接收操作所用的套接字描述符;第二個參數(shù)接收緩沖區(qū)的地址;第三個參數(shù)接收緩沖區(qū)的大小,也就是所要接收的字節(jié)數(shù);第四個參數(shù)是一個附加標(biāo)志,如果對所發(fā)送的數(shù)據(jù)沒特殊要求,直接設(shè)為0。因?yàn)镮P數(shù)據(jù)包的最大長度是65535B,因此,緩沖區(qū)的大小不能小于65535B。設(shè)置緩沖區(qū)后,可利用循環(huán)來反復(fù)監(jiān)聽接收IP包,用RECV()函數(shù)實(shí)現(xiàn)接收功能的代碼如下:
#define BUFFER_SIZE 65535 char buffer[BUFFER_SIZE];//while(true){ recv(sock,buffer,BUFFER_SIZE,0);// /*然后是解析接收的IP包*/ }
設(shè)置緩沖區(qū) 接收數(shù)據(jù)包
第四章 實(shí)驗(yàn)結(jié)果
4.1 程序截圖
第五章 總結(jié)
通過這次課程設(shè)計,我們了解到關(guān)于計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)傳送及處理過程中,軟件起到了巨大的作用。熟悉了C++語言在計算機(jī)網(wǎng)絡(luò)方面的應(yīng)用,是一次難得的機(jī)會。此外,我還了解了網(wǎng)絡(luò)通信協(xié)議的基本工作原理及套接字的使用,雖然剛開始的時候比較模糊,但是通過與同學(xué)共同探討和網(wǎng)上查閱資料,最終我成功完成了實(shí)驗(yàn)。這次課程設(shè)計培養(yǎng)了我們基本掌握網(wǎng)絡(luò)編程的基本思路和方法,讓我們懂得如何去學(xué)習(xí)這類東西。同時提高我們對所學(xué)計算機(jī)網(wǎng)絡(luò)理論知識的理解能力,提高和挖掘我們對所學(xué)知識的實(shí)際應(yīng)用能力和創(chuàng)新能力。同學(xué)們的合作是實(shí)驗(yàn)成功的必要條件,而謹(jǐn)慎對待事物的態(tài)度是成功的關(guān)鍵。
第六章 附錄
6.1 源代碼
#include
//定義IP頭 { union {
BYTE Version;
//版本(前4位)
BYTE HdrLen;
//報頭標(biāo)長(后4位),IP頭長度
};BYTE ServiceType;
//服務(wù)類型
WORD TotalLen;
//數(shù)據(jù)報總長
WORD ID;
//標(biāo)識
union {
WORD Flags;
//標(biāo)識(前3位)
WORD FragOff;
//分段偏移(后13位)
};BYTE TimeToLive;
//生存周期
BYTE Protocol;
//協(xié)議
WORD HdrChksum;
//頭校驗(yàn)和
DWORD SrcAddr;
//源地址
DWORD DstAddr;
//目地地址
BYTE Options;
//選項(xiàng) }IP_HEADER;
char * parseServiceType_getProcedence(BYTE b){ switch(b>>5)
//獲取服務(wù)類型字段中優(yōu)先級子域
{ case 7:
return “Network Control”;
//網(wǎng)絡(luò)控制
break;case 6:
return “Internet work Control”;
//網(wǎng)絡(luò)控制
break;case 5:
return “CRITIC/ECP”;
break;case 4:
return “Flash Override”;
//最優(yōu)先信號
break;case 3:
return “Flsah”;
break;case 2:
return “Immediate”;
break;case 1:
return “Priority”;
//協(xié)議
break;case 0:
return “Routine”;
//路由
break;default:
return “Unknow”;
break;} } char * parseServiceType_getTOS(BYTE b){ b=(b>>1)&0x0f;
//獲取服務(wù)類型字段中的TOS子域
switch(b)
{
case 0:
return “Normal service”;
//正常運(yùn)行
break;case 1:
return “Minimize monetary cost”;
//成本
break;case 2:
return “Maximize reliability”;
//可靠性
break;case 4:
return “Maximize throughput”;
//吞吐量
break;case 8:
return “Minimize delay”;
//延遲
break;case 15:
return “Maximize security”;
//安全性
break;default:
return “Unknow”;
} } char * getProtocol(BYTE Protocol)
//獲取協(xié)議字段共8位 { switch(Protocol)
//以下為協(xié)議號說明:
{
case 1:
return “ICMP”;
//Internet控制報文協(xié)議
case 2:
return “IGMP”;
//Internet組管理協(xié)議
case 4:
return “IP in IP”;
//移動IP數(shù)據(jù)封裝和隧道
case 6:
return “TCP”;
//傳輸控制協(xié)議
case 8:
return “EGP”;
//外部網(wǎng)關(guān)協(xié)議
case 17:
return “UDP”;
//用戶數(shù)據(jù)報文協(xié)議
case 41:
return “IPv6”;case 46:
return “RSVP”;
//資源預(yù)留協(xié)議
case 89:
return “OSPF”;
//Open Shortest Path First 開發(fā)式最短路徑優(yōu)先
default:
return “UNKNOW”;} } void ipparse(FILE* file,char* buffer){ IP_HEADER ip=*(IP_HEADER*)buffer;
//通過指針把緩沖區(qū)的內(nèi)容強(qiáng)制轉(zhuǎn)化為IP_HEADER數(shù)據(jù)結(jié)構(gòu)
fseek(file,0,SEEK_END);
fprintf(file,“_______________________________________________rn”);fprintf(file,“版本號:IPV%drn”,ip.Version>>4);fprintf(file,“報頭標(biāo)長:%d(BYTE)rn”,((ip.HdrLen & 0x0f)*4));fprintf(file,“服務(wù)器類型 : %s,%srn”,parseServiceType_getProcedence(ip.ServiceType),parseServiceType_getTOS(ip.ServiceType));fprintf(file,“總長度 : %d(BYTE)rn”,ip.TotalLen);fprintf(file,“標(biāo)識 : %drn”,ip.ID);fprintf(file,“標(biāo)志位 DF:%d , MF=%drn”,((ip.Flags>>14)&0x01),((ip.Flags>>13)&0x01));fprintf(file,“分段偏移值 : %drn”,(ip.FragOff&0x1fff));
fprintf(file,“生存期 : %d(hops)rn”,ip.TimeToLive);fprintf(file,“協(xié)議 : %srn”,getProtocol(ip.Protocol));fprintf(file,“頭校驗(yàn)和 : 0x%0xrn”,ip.HdrChksum);fprintf(file,“源IP地址 : %srn”,inet_ntoa(*(in_addr*)&ip.SrcAddr));fprintf(file,“目的IP地址 : %srn”,inet_ntoa(*(in_addr*)&ip.DstAddr));fprintf(file,“________________________________________________rn”);}
int main(){
FILE * file;if((file=fopen(“l(fā)ogfile.txt”,“wb+”))==NULL){
printf(“fail to open file %s”);
return-1;
}
WORD rv;WSADATA WSAData;
//定義了能夠儲存WSAStarup調(diào)用返回值的結(jié)構(gòu)
rv=MAKEWORD(2,2);
//Winsock2版本
WSAStartup(rv,&WSAData);
SOCKET sock=socket(AF_INET,SOCK_RAW,IPPROTO_IP);//創(chuàng)建套接字,sock為套接字描述符
BOOL flag=true;setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(CHAR*)&flag,sizeof(flag));//任意類型、任意狀態(tài)套接口的設(shè)置選項(xiàng)值
char hostName[128];gethostname(hostName,100);
//獲取主機(jī)名
hostent * pHostIP;
//獲取本地IP地址
pHostIP = gethostbyname(hostName);
sockaddr_in addr_in;addr_in.sin_addr=*(in_addr *)pHostIP->h_addr_list[0];addr_in.sin_family = AF_INET;addr_in.sin_port = htons(6000);//將無符號短整型主機(jī)數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序數(shù)據(jù)
bind(sock,(PSOCKADDR)&addr_in,sizeof(addr_in));
DWORD dwBufferLen[10];
//設(shè)置網(wǎng)卡為混雜模式
DWORD dwBufferInLen=1;DWORD dwBytesReturned=0;WSAIoctl(sock, IO_RCVALL,&dwBufferInLen,sizeof(dwBufferInLen), &dwBufferLen,sizeof(dwBufferLen),&dwBytesReturned,NULL,NULL);
char buffer[BUFFER_SIZE];
//設(shè)置緩沖區(qū)
char i,a;
printf(“
*************************************n”);
printf(“
*
IP數(shù)據(jù)包捕獲程序
*n”);
printf(“
*
捕獲并解析本機(jī)的數(shù)據(jù)包輸入Y
*n”);
printf(“
*
放棄執(zhí)行輸入N
*n”);
printf(“
*
退出程序按 Ctrl+c
*n”);
printf(“
*************************************n”);cin>>i;system(“cls”);while(true&&i=='Y'||i=='y'){
int size=recv(sock,buffer,BUFFER_SIZE,0);
//接收數(shù)據(jù)包
if(size>0)
{
printf(“nnIP數(shù)據(jù)包捕獲解析程序n”);
ipparse(stdout,buffer);
ipparse(file,buffer);
printf(“是否要繼續(xù)捕獲并解析本機(jī)的IP數(shù)據(jù)包? Y/N n”);
fflush(stdin);
cin>>i;
continue;
}
else
fclose(file);
return 0;}
closesocket(sock);}
計算機(jī)網(wǎng)絡(luò)課程的結(jié)束已經(jīng)過去將近1年,當(dāng)時的學(xué)習(xí)也僅限于上課和考試。這次計算機(jī)網(wǎng)絡(luò)課程設(shè)計給予了我一次難得的鍛煉機(jī)會。剛拿到題目的時候,感覺還無從下手。后來通過上網(wǎng)查詢各種資料和查閱書籍,我們慢慢摸索探討出了整個組網(wǎng)的設(shè)計過程。該組網(wǎng)只是一個簡單的酒店網(wǎng)絡(luò)模擬,它離實(shí)際還是有相當(dāng)?shù)木嚯x,需要進(jìn)行不斷地補(bǔ)充和完善。通過本次課程設(shè)計我們學(xué)到了不少新的東西,也發(fā)現(xiàn)了大量的問題,有些在設(shè)計過程中已經(jīng)解決,有些還有待今后慢慢學(xué)習(xí)只要學(xué)習(xí)就會有更多的問題,有更多的難點(diǎn),但也會有更多的收獲。本次課程設(shè)計用到的packet tracer軟件是我們第一次接觸,但通過自學(xué)和網(wǎng)絡(luò)的幫助,我們慢慢掌握了packet tracer軟件的使用方法。從一開始的無處著手到通過自己的努力,我基本上完成了這次的任務(wù),但是由于知識的欠缺及時間的限制,我們的成果僅限于現(xiàn)在完成的部分,還有很大的改善空間。總的來說,本次課程設(shè)計讓我獲益匪淺,希望以后還有這樣鍛煉自己的機(jī)會。
第三篇:基于數(shù)據(jù)包捕獲與分析的個人防火墻論文
基于數(shù)據(jù)包捕獲與分析的個人防火墻論文
本套設(shè)計論文描述及運(yùn)行界面展示
摘 要
數(shù)據(jù)包過濾是一個用軟件或硬件設(shè)備對向網(wǎng)絡(luò)上傳或從網(wǎng)絡(luò)下載的數(shù)據(jù)流進(jìn)行有選擇的控制過程。數(shù)據(jù)包過濾的功能通常是在將數(shù)據(jù)包從一個網(wǎng)站向另一個網(wǎng)絡(luò)傳送的過程中允許或阻止它們的通過(更為常見的是在從英特網(wǎng)向內(nèi)部網(wǎng)絡(luò)傳輸數(shù)據(jù)時,或從內(nèi)部網(wǎng)絡(luò)向英特網(wǎng)傳輸)。若要完成數(shù)據(jù)包過濾,你就要設(shè)置好規(guī)則來指定哪些類型的數(shù)據(jù)包被允許通過和哪些類型的數(shù)據(jù)包將會被阻止。
基于數(shù)據(jù)包過濾的防火墻,能夠很好地保護(hù)用戶在與網(wǎng)絡(luò)連接時的安全性。
我們的目標(biāo),就是通過截獲數(shù)據(jù)包,并且對其進(jìn)行分析,來放行或阻止網(wǎng)絡(luò)訪問,從而達(dá)到保護(hù)計算機(jī)安全的目的。
本論文主要講述了下面幾點(diǎn):
一、數(shù)據(jù)包捕獲及網(wǎng)絡(luò)安全技術(shù)
二、系統(tǒng)的設(shè)計與實(shí)現(xiàn)
三、測試及其他
關(guān)鍵字:數(shù)據(jù)包捕獲;防火墻;網(wǎng)絡(luò)安全
Abstract Packet Filtering is the process a piece of software or device takes to selectively control the flow of data to and from a network.Packet Filters allow or block packets, usually while routing them from one network to another(most often from the Internet to an internal network, and vice-versa).To accomplish packet filtering, you set up rules that specify what types of packets are to be allowed and what types are to be blocked.The packet filtering based firewall can protect the security of computers very well.Our goal is to capture and analysis data packets ,so we can examines all packets that pass in and out of it to prevent packets from passing through ,and the computer is protected.The thesis presents these aspects:
1、Technology of Packet Filtering and Network Security
2、How to implement the system
3、Testing document and others Key Words: Packet Filtering、Firewall、network security
目 錄 第一章 緒論 1 第一節(jié) 課題意義1 第二節(jié) 課題綜述1
一、國內(nèi)外發(fā)展情況 1
二、網(wǎng)絡(luò)安全技術(shù)介紹 4
三、防火墻介紹 6
四、防火墻技術(shù)發(fā)展趨勢8
五、防火墻產(chǎn)品發(fā)展趨勢10 第二章 需求分析 11 第一節(jié) 需求分析11
一、功能調(diào)查11
二、初步設(shè)計12 第二節(jié) 可行性分析 12
一、技術(shù)可行性及方案選擇 12 第三節(jié) 開發(fā)環(huán)境及工具 13
一、開發(fā)環(huán)境13
二、開發(fā)工具14 第三章 基礎(chǔ)實(shí)現(xiàn)技術(shù)介紹 15 第一節(jié) MFC介紹15 第二節(jié) 數(shù)據(jù)包過濾技術(shù) 15
一、數(shù)據(jù)包 15
二、數(shù)據(jù)包過濾是怎樣工作的16
三、包過濾的優(yōu)點(diǎn) 16 第四章 系統(tǒng)總體設(shè)計18 第一節(jié) 功能分析18 第二節(jié) 系統(tǒng)工作流程 19
一、系統(tǒng)工作流程圖 18
二、原理分析20
三、系統(tǒng)工作過程描述 21 第五章 子模塊設(shè)計 22 第一節(jié) 模塊分析21
一、模塊劃分原則 22
二、模塊劃分23
三、模塊接口定義 25 第二節(jié) 子模塊詳細(xì)設(shè)計 26
一、注冊模塊26
二、查詢模塊28
三、流量統(tǒng)計模塊 29 第六章 出現(xiàn)問題及解決辦法 32 第一節(jié) 出現(xiàn)問題32 第二節(jié) 無法解決的問題 33 第七章 測試 34 第一節(jié) 測試方案34 第二節(jié) 測試實(shí)例35 第三節(jié) 測試總結(jié)39 結(jié)束語 40 致謝 41 參考文獻(xiàn)42
第四篇:傳輸層協(xié)議分析實(shí)驗(yàn)報告
2.傳輸層協(xié)議分析 2.A 數(shù)據(jù)包 捕獲分析部分 2.1 實(shí)驗(yàn)?zāi)康?理解 TCP 報文首部格式和字段的作用,TCP 連接的建立和釋放過程,TCP 數(shù)據(jù)傳輸中編號與確認(rèn)的作用。
2.2 實(shí)驗(yàn)內(nèi)容 應(yīng)用 TCP 應(yīng)用程序傳輸文件,截取 TCP 報文,分析 TCP 報文首部信息,TCP 連接的建立過程,TCP 數(shù)據(jù)的編號和確認(rèn)機(jī)制。
2.3 實(shí)驗(yàn)原理 TCP 協(xié)議是傳輸控制協(xié)議的簡稱,工作在網(wǎng)絡(luò)層協(xié)議之上,是面向連接的,可靠的,端到端的傳輸層協(xié)議。
1)TCP 的報文格式 TCP 報文段分為頭部和數(shù)據(jù)兩部分,如圖 1:
圖 1
TCP 報文段的總體結(jié)構(gòu) TCP 首部 TCP 數(shù)據(jù)部分
TCP 報文段首部又分為固定部分和選項(xiàng)部分,固定部分為 20B,如圖 2 所示,這些字段的組合實(shí)現(xiàn)了 TCP 的所有功能。
圖 2 TCP 報文段的首部
0
源端口 目的端口 序號 確認(rèn)號 頭部 長度(4bit)
保留 U R G A C K P S H R S T S Y N F I N
窗口 校驗(yàn)和 緊急指針 選項(xiàng)(長度可變)
填充 TCP 采用傳輸輸連接的方式傳送 TCP 報文,傳輸連接包括連接建立、數(shù)據(jù)傳輸和連
接釋放三個階段。
2)TCP 連接的建立 TCP 連接建立采用“3 次握手”方式。
首先,主機(jī) A 的 TCP 向主機(jī) B 的 TCP 發(fā)出連接請求報文段,其首部中的同步位 SYN 應(yīng)置 1,同時選擇一個序號 X,表明在后面?zhèn)魉蛿?shù)據(jù)時的第一個數(shù)據(jù)字節(jié)的序號是 X+1,如圖 3所示:
圖 3
TCP 連接建立的 3 次握手過程
然后,主機(jī) B 的 TCP 收到連接請求報文段后,若同意,則發(fā)回確認(rèn)。在確認(rèn)報文段中應(yīng)將 SYN 和 ACK 都置 1,確認(rèn)號應(yīng)為 X+1,同時也為自己選擇一個序號 Y。
最后,主機(jī) A 的 TCP 收到 B 的確認(rèn)后,要向 B 發(fā)回確認(rèn),其 ACK 置 1,確認(rèn)號為 Y+1,而自己的序號為 X+1。TCP 的標(biāo)準(zhǔn)規(guī)定,SYN 置 1 的報文段都要消耗掉一個序號。同時,運(yùn)行客戶進(jìn)程的主機(jī) A 的 TCP 通知上層應(yīng)用進(jìn)程,連接已經(jīng)建立。當(dāng)主機(jī) A 向 B 發(fā)送第一個數(shù)據(jù)報文段時,其序號仍為 X+1,因?yàn)榍耙粋€確認(rèn)報文段并不消耗序號。
當(dāng)運(yùn)行服務(wù)器進(jìn)程的主機(jī) B 的 TCP 收到主機(jī) A 的確認(rèn)后,也通知其上層應(yīng)用進(jìn)程,連接已經(jīng)建立。
另外,在 TCP 連接建立的過程中,還利用 TCP 報文段首部的選項(xiàng)字段進(jìn)行雙方最大報文段長度 MSS 協(xié)商,確定報文段的數(shù)據(jù)字段的最大長度。雙方都將自己能夠支持的 MSS 寫入選項(xiàng)字段,比較之后,取較小的值賦給 MSS,并應(yīng)用于數(shù)據(jù)傳送階段。
3)TCP 數(shù)據(jù)的傳送 為了保證TCP傳輸?shù)目煽啃?,TCP采用面向字節(jié)的方式,將報文段的數(shù)據(jù)部分進(jìn)行編號,每個字節(jié)對應(yīng)一個序號。并在連接建立時,雙方商定初始序號。在報文段首部中,序號字段和數(shù)據(jù)部分長度可以確定發(fā)送方傳送數(shù)據(jù)的每一個字節(jié)的序號,確認(rèn)號字段則表示接收方希望下次收到的數(shù)據(jù)的第一個字節(jié)的序號,即表示這個序號之前的數(shù)據(jù)字節(jié)均已收到。這樣既做到了可靠傳輸,又做到了全雙工通信。
當(dāng)然,數(shù)據(jù)傳送階段有許多復(fù)雜的問題和情況,如流量控制、擁塞控制、重傳機(jī)制等,本次實(shí)驗(yàn)不探究。
被動打開 主動打開 確認(rèn)
確認(rèn) 連接請求
4)TCP 連接的釋放 在數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可以發(fā)出釋放連接的請求。TCP 連接的釋放采用“4次握手”。如圖
應(yīng) 用 進(jìn) 程 釋放連接通知主機(jī)應(yīng)用進(jìn)程A不再發(fā)送報文確認(rèn) 應(yīng)用進(jìn)程釋放連接①②確認(rèn)B不再發(fā)送報文FIN,SEQ-XACK,SEQ=Y,ACK=X+1FIN,ACK,SEQ=Y,ACK=X+1ACK,SEQ=X+1,ACK=Y+1AB 圖 4 TCP 連接釋放的 4 次握手過程 首先,設(shè)圖 4 中主機(jī) A 的應(yīng)用進(jìn)程先向其 TCP 發(fā)出釋放連接的請求,并且不再發(fā)送數(shù)據(jù)。TCP 通知對方要釋放從 A 到 B 這個方向的連接,將發(fā)往主機(jī) B 的 TCP 報文段首部的中止位置 1,其序號 X 等于前面已傳送過的數(shù)據(jù)的最后一個字節(jié)的序號加 1。
主機(jī) B 的 TCP 收到釋放連接通知后即發(fā)出確認(rèn),其序號為 Y,確認(rèn)號為 X+1,同時通知高層應(yīng)用進(jìn)程,如圖中的箭頭①。這樣從 A 到 B 的連接就被釋放了,連接處于半關(guān)閉狀態(tài),相當(dāng)于主機(jī) A 對主機(jī) B 說“我已經(jīng)沒有數(shù)據(jù)發(fā)送了。但是如果你還有數(shù)據(jù)要發(fā)送,我仍然接收。” 此后,主機(jī) B 不再接收 A 發(fā)來的數(shù)據(jù)。但若主機(jī) B 還有一些數(shù)據(jù)要發(fā)給 A,則可以繼續(xù)發(fā)送(這種情況很少)。主機(jī) A 只要正確收到數(shù)據(jù),仍然向 B 發(fā)送確認(rèn)。
若主機(jī) B 不再向主機(jī) A 發(fā)送數(shù)據(jù),其應(yīng)用進(jìn)程就通知 TCP 釋放連接,如圖中的箭頭②。主機(jī) B 發(fā)出的連接釋放報文段必須將中止位 FIN 和確認(rèn)位 ACK 置 1,并使其序號仍為 Y(因?yàn)楹灻l(fā)送的確認(rèn)報文段不消耗序號),但是還必須重復(fù)上次已經(jīng)發(fā)送過的 ACK=X+1。主機(jī)A 必須對此發(fā)出確認(rèn),將 ACK 置 1,ACK=Y+1,而自己的序號仍然是 X+1,因?yàn)楦鶕?jù) TCP 標(biāo)準(zhǔn),前面發(fā)送過的 FIN 報文段要消耗掉一個序號。這樣就把 B 到 A 的反方向的連接釋放掉。主機(jī)A 的 TCP 再向其應(yīng)用進(jìn)程報告,整個連接已經(jīng)全部釋放。
2.4 實(shí)驗(yàn)步驟 驟 步驟 1
在 Wireshark 中設(shè)置過濾條件,協(xié)議為 TCP
HTTP,地址為本機(jī)->any,并開始截獲報文;步驟 2
打開 004km.cn.,完成后,保存截獲的報文并命名為“TCP 學(xué)號”,分析捕獲的報文。
這里,TCP 的連接和建立采用的是:
三次握手
方式,本機(jī)是
192.168.3.3
,遠(yuǎn)端主機(jī)是 192.168.3.183。
步驟 3
分析 TCP 連接建立過程的前 3 個報文,填寫下表 1:
表 表 1
TCP 建立過程的三個報文信息 字段名稱 第一條報文 第二條報文 第三條報文
報文序號 1704 1716 1718 Sequence Nunber 830 849 835 ACK Number 289 291 237 ACK 1 291 1 SYN 1 1 1
步驟 4
分析截獲報文中數(shù)據(jù)發(fā)送部分的第一條 TCP 報文及其確認(rèn)報文,將報文中的字段值填寫在表格 2 中。
表 表 2
TCP 報文首部信息
字段名 長度 字段值 字段意義 發(fā)送報文 確認(rèn)報文 源端口 16 發(fā)送
目標(biāo)端口 16 確認(rèn) 端口號是唯一標(biāo)識 序號 32
確認(rèn)好 32 確認(rèn)
頭部長度 4
保留 6
保留字段 窗口 16
校驗(yàn)和 16
緊急指針 16
選項(xiàng)(長度可變)
步驟 5
TCP 連接建立時,其報文首部與其它 TCP 報文不同,有一個 option 字段,它的作用是什么?結(jié)合 IEEE802.3 協(xié)議規(guī)定的以太網(wǎng)最大幀長分析此數(shù)據(jù)是怎么得出來的? 步驟 6
分析 TCP 數(shù)據(jù)傳送階段的前 8 個報文,將報文信息填入表 3:
表 表 3
TCP 數(shù)據(jù)傳送部分的前 8 個報文 報文序號 報文種類 序號字段 確認(rèn)號字段 數(shù)據(jù)長度 被確認(rèn)報文序號 窗口 3744 確認(rèn) 289 1 324 289 123 3754 發(fā)送 1 0 66
16580 3764 確認(rèn) 1 1 344 291 123 3784 發(fā)送 1 0 66
16579 3794 確認(rèn) 237 1 290 237 123 3804 發(fā)送 1 0 66
16593 3814 確認(rèn) 289 0 290 290 16768 3824 確認(rèn) 290 1 290 290 16768
2.5
實(shí)驗(yàn)總結(jié) 在實(shí)驗(yàn)中,通過分析截獲的 TCP 報文首部信息,可以看到首部中的序號、確認(rèn)號等字段是 TCP 可靠連接的基礎(chǔ)。
分析 TCP 頭部信息,分析“3 次握手”過程。通過對數(shù)據(jù)傳送階段報文的初步分析,了解數(shù)據(jù)的編碼和確認(rèn)機(jī)制。
總之,TCP 協(xié)議中的各項(xiàng)設(shè)置都是為了在數(shù)據(jù)傳輸時提供可靠的面向連接的服務(wù)。
2.B 編程造 構(gòu)造 UDP 數(shù)據(jù)包 部分 使用 C 語言構(gòu)造 UDP 數(shù)據(jù)包程序。
1)UDP 首部和偽首部結(jié)構(gòu)體定義
/* UDP 首部*/ struct udphdr{ unsigned short u_src;unsigned short u_dst;unsigned short u_len;unsigned short u_cksum;char u_data[U_MAXLEN];//UDP 中校驗(yàn)使用的偽首部 struct pseudo_header {int srcIp;short udp_len;char rsv;char protocol;unsigned short src_port;
};unsigned short dsc_port;unsigned short len;unsigned short check_sum;char data[2];};
2)構(gòu)建 UDP 報文數(shù)據(jù)
int build_udp_Package(struct socket_pair * sp,const unsigned char *buf,int len,unsigned char *udpPacket[],int *udpPacketLen){ *udpplen=sizeof(struct udp_hdr)+len;struct udp_hdr*uh=(struct udp_hdr*)udppkt;unsigned char*dbuf=(udppkt+sizeof(struct udp_hdr));memcpy(dbuf,buf,len);Uh->source=htons(s_port);Uh->dest=htons(d_port);Uh->len=htons(sizeof(struct udp_hdr0)+len);Uh->check=0;Un->check=udpcksum(d_ip,d_port,s_ip,udppkt,sizeof(struct udp_hdr)+len);return udppkt;}
第五篇:市場調(diào)查與預(yù)測實(shí)驗(yàn)報告
市
場
調(diào)
查
與
預(yù)
測的調(diào)會
查計
報102
3告班
智能手機(jī)在校大學(xué)生消費(fèi)傾向和需求的調(diào)研報告 調(diào)查項(xiàng)目名稱:襄陽市在校大學(xué)生智能手機(jī)調(diào)查
實(shí)驗(yàn)調(diào)查目的及要求:
隨著社會的發(fā)展,電子行業(yè)的發(fā)展速度每年在成倍增長,一般的手機(jī)已經(jīng)不能滿足廣大消費(fèi)者的需求,使用智能手機(jī)的人所占手機(jī)使用者的比例也越來越大,尤其是在校大學(xué)生,智能手機(jī)可以說是電腦的簡化,且能像電腦一樣工作。在校大學(xué)生對于智能手機(jī)需求,價格,性能,品牌等方面的要求和喜好,什么樣的手機(jī)受大學(xué)生們喜愛的,從而對校園智能手機(jī)市場進(jìn)行準(zhǔn)確定位,將這類手機(jī)推薦給各高校大學(xué)生們,滿足同學(xué)需要,為廠家更有針對性的制造出適合在校大學(xué)生使用的手機(jī),從而贏得更多市場.調(diào)查內(nèi)容:
1、在校大學(xué)生對智能手機(jī)的需求和飽和容量和發(fā)展?jié)摿Α?/p>
2、當(dāng)前在校大學(xué)生對智能手機(jī)的種類、品牌和銷售狀況。
3、有消費(fèi)意向的在校大學(xué)生對智能手機(jī)的了解程度(包括品牌,性能等)
4、有消費(fèi)意向的在校大學(xué)生理想的智能手機(jī)描述。
調(diào)查對象,地點(diǎn)和方法:
把本市各高校在校大學(xué)生分大
一、大
二、大
三、大四四組進(jìn)行隨機(jī)抽取調(diào)查,調(diào)查地點(diǎn)為學(xué)校食堂門口,用網(wǎng)絡(luò)調(diào)查方法在校園廣發(fā)郵件通過回收郵件調(diào)查。
調(diào)查時間:2011年12月1日~12月5日
人員安排
調(diào)研組長:張三,調(diào)查人員:小麗 小芳
復(fù)核員:張三
要保證復(fù)核的真實(shí)性和有效性。
調(diào)研說明:本次對襄陽市的各高校在校大學(xué)生進(jìn)行了問卷調(diào)查,共發(fā)放問卷70余份,共有65人填寫了問卷,剔除了5份缺項(xiàng)或回答與問題不符的問卷,共得到有效問卷60份,在有效調(diào)查對象中,襄樊學(xué)院理工學(xué)院占了50%,襄樊學(xué)院占了30%,襄樊職業(yè)技術(shù)學(xué)院占了20%,本次調(diào)查問卷共涉及調(diào)查者個人資料參數(shù)3項(xiàng),關(guān)于智能手機(jī)的專項(xiàng)定向性問題12個,進(jìn)一步關(guān)聯(lián)問題5個
1.智能手機(jī)在大學(xué)生看來發(fā)展前景還是不錯的從參加調(diào)查的在校大學(xué)生中,近58%在校大學(xué)生對智能手機(jī)的前景看好,約16.7%在校大學(xué)生對智能手機(jī)的前景很看好,21.7%大學(xué)生不太看好智能手機(jī)的發(fā)展前景,只有只有3.6%在校大學(xué)生對智能手機(jī)的發(fā)展前景不看好,由此可見大多數(shù)大學(xué)生還是很看好智能手機(jī)的發(fā)展前景,就目前正在使用智能手機(jī)的大學(xué)生占46.7%,不是智能手機(jī)使用者占53.3%,又從近年來會購買智能手機(jī)占
59%,不會購買智能手機(jī)僅占了31%,說明在校大學(xué)生對智能手機(jī)的需求還是不少的,同時對于手機(jī)銷售商還有很大開拓校園市場的潛力!
2.1000~1500元的智能手機(jī)需求量最多
針對近期購買手機(jī)價位和下次準(zhǔn)備購買智能手機(jī)的理想價位,調(diào)研結(jié)果表明在校大學(xué)生近期購買手機(jī)的價位500~1000元占了45%,1000~1500占了25%,1500以上的占了18.3%,500元以下的占了11.7%,因此開始大學(xué)生購買手機(jī)價格普遍接受的價格是500~1000元,但是隨著科技發(fā)展,對于智能手機(jī)這個新型的電子產(chǎn)品還是有很大發(fā)展?jié)摿?,對于大學(xué)生對于智能手機(jī)價格的理想價位1000~1500元的智能手機(jī)接受度占56.7%,認(rèn)為1500~2000元智能手機(jī)是理想價位有20%在校大學(xué)生,認(rèn)為2000元以上智能手機(jī)是理想價位有16.7%在校大學(xué)生,對于500~1000元價位占了6.6%可見大多數(shù)在校大學(xué)生理想價位的智能手機(jī)是1000~1500元偏重于中低檔,高檔的智能手機(jī)也占有一定份額,對于未來還是有一定發(fā)展?jié)摿?,該結(jié)果對于手機(jī)制造商推出適合市場需求的智能手機(jī)價位很有啟示,也為他們對未來智能手機(jī)價格發(fā)展有了一定引導(dǎo)作用。
智能手機(jī)在校大學(xué)生的市場問卷
同學(xué)們 :
您好!
我們是襄樊學(xué)院理工學(xué)院的在校學(xué)生,為了完成一項(xiàng)課堂任務(wù)我們需要您幫忙我們填寫這份調(diào)查問卷.這份問卷的結(jié)果對于我們來說非常重要,希望您認(rèn)真作答.問卷調(diào)查類容我們會進(jìn)行保密,請您放心。
(1)您目前擁有手機(jī)嗎?
①有② 沒有
(2)您最近購買手機(jī)的價位是多少?
①500元以下②500-1000元③1000-1500元④1500-2000元
⑤2000元以上
(3)您目前使用的手機(jī)是智能手機(jī)嗎?
①是②不是
(4)提到智能手機(jī)您腦子里出現(xiàn)的第一個品牌是?
①諾基亞②摩托羅拉③三星④索尼愛立信⑤西門⑥iPhone⑦其它
(5)您一般多久更換一次手機(jī)?
①不到一年②一年左右③兩年左右④三年左右⑤三年以上
(6)請問您目前使用的手機(jī)是哪個品牌的?
①諾基亞②索愛③三星④iphone⑤華為⑥摩托羅拉⑦LG⑧聯(lián)想⑨步步高⑩其它
(7)您使用手機(jī)主要做哪些工作?(可多選)
①上網(wǎng)(股票、新聞、天氣、下載等)②發(fā)信息,打電話③收發(fā)郵件④GPS導(dǎo)航⑤看小說、玩游戲⑥其它
(8)您最注重手機(jī)的什么功能?(可多選)
①手機(jī)QQ 拍照攝像②超長待機(jī)③游戲下載④上網(wǎng)⑤mp3/mp4⑥藍(lán)牙⑦導(dǎo)航功能⑧其它
(9)影響您購買手機(jī)的主要因素是?(可多選)
①品牌②價格③性能、配置④外觀款式⑤質(zhì)量⑥流行熱潮⑦售后服務(wù)⑧待機(jī)時間⑨其他
(10)您一般從哪些渠道獲得手機(jī)的信息?(可多選)
①報紙雜志②電視廣告③網(wǎng)絡(luò)廣告④逛手機(jī)專賣店⑤朋友推薦 ⑥商場促銷⑦其它
(11)您一般到什么地方購買手機(jī)?(可多選)
①專賣店②大賣場③移動、聯(lián)通或電信營業(yè)廳④網(wǎng)絡(luò)⑤超市或百貨店⑥電器(如蘇寧)⑦其它
(12)以下幾種手機(jī)促銷方式中,最能吸引您的是?(可多選)
①購機(jī)贈話費(fèi)②現(xiàn)場打折③送相關(guān)配件④抽獎活動⑥其它
(13)您下次準(zhǔn)備購買的手機(jī)品牌可能是?(可多選)
①諾基亞②華為③三星④聯(lián)想⑤蘋果⑥索尼⑦步步高⑧摩托羅拉⑨康佳⑩其它
(14)您了解智能手機(jī)與非智能手機(jī)的區(qū)別嗎?
①了解②不太了解③不了解
(15)您能接受的智能手機(jī)的理想價位是多少?
① 500-1000元② 1000-1500元③ 1500-2000元⑤2000-2500元⑥ 2500元以上
(16)您認(rèn)為智能手機(jī)的前景如何?
①很看好②看好③不太看好④不看好
(17)您是否會在未來一年內(nèi)購買智能手機(jī)? ①會②不會
(18)您的性別?
①男②女
(19)您的年級?
①大一②大二③大三④大四
(20)您的月生活費(fèi)?
① 700以下② 800~1000③ 1000以上
謝謝您的配合,愿您天天開心!