第一篇:計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告
目錄
需求分析…………………………………………….3
總體設(shè)計(jì)…………………………………………….3
詳細(xì)設(shè)計(jì)…………………………………………….4
測(cè)試的步驟………………………………………….4
編 碼………………………………………………...6
測(cè)試的內(nèi)容…………………………………………14
課程設(shè)計(jì)總結(jié)………………………………………14 參考資料……………………………………………14
需求分析:
隨著信息化科學(xué)技術(shù)的快速發(fā)展,21世紀(jì)的人們將步入一個(gè)前所未有信息時(shí)代。計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)將深入地影響到人們社會(huì)生活的各個(gè)領(lǐng)域。各種網(wǎng)絡(luò)資源成為現(xiàn)代社會(huì)不可或缺的一部分。無論是對(duì)教育、醫(yī)療,乃至軍事、社會(huì)生活的方方面面都有著深刻的影響。Internet的飛速發(fā)展帶來的眾多有價(jià)值的信息共享,使互聯(lián)網(wǎng)越來越被廣大用戶所接受,進(jìn)而在全球迅速蔓延?,F(xiàn)代社會(huì)中,無論你從事的是什么行業(yè),在互聯(lián)網(wǎng)中都可以找到你想要的有用資源。某種意義上講,互聯(lián)網(wǎng)已經(jīng)深入影響到了社會(huì)生活的每個(gè)角落,給人們的生活帶來了全新的感受。很多的網(wǎng)絡(luò)活動(dòng)已經(jīng)成為了一種時(shí)尚。同時(shí),人類社會(huì)的諸多方面對(duì)網(wǎng)絡(luò)的依賴程度越來越強(qiáng)。一個(gè)嶄新的“網(wǎng)絡(luò)時(shí)代”正在急速向現(xiàn)代社會(huì)走來。
但是網(wǎng)絡(luò)在提供便利的共享資源的同時(shí)也帶來了各種各樣的安全風(fēng)險(xiǎn)。因此,網(wǎng)絡(luò)安全問題越來越引起人們的廣泛關(guān)注,并成為當(dāng)今網(wǎng)絡(luò)技術(shù)研究的重點(diǎn)。通常黑客和病毒是通過安全漏洞滲入目標(biāo)系統(tǒng)的,因此只要找到并修補(bǔ)所有的安全漏洞,就可以抵御絕大部分的黑客攻擊。安全漏洞掃描技術(shù)能夠檢測(cè)網(wǎng)絡(luò)系統(tǒng)潛在的安全漏洞,使網(wǎng)絡(luò)管理者可以預(yù)先了解網(wǎng)絡(luò)的脆弱性所在,從而確保網(wǎng)絡(luò)系統(tǒng)的安全。
通常,一次成功的網(wǎng)絡(luò)攻擊,首先要收集目標(biāo)計(jì)算機(jī)IP地址,然后才能進(jìn)一步對(duì)目標(biāo)實(shí)施有針對(duì)性的有效攻擊。而對(duì)目標(biāo)計(jì)算機(jī)IP地址的獲取,目前主要是通過網(wǎng)絡(luò)端口掃描工具實(shí)現(xiàn)的。
課程設(shè)計(jì)目的
加深對(duì)TCP/IP的理解,熟悉socket編程。
課程設(shè)計(jì)內(nèi)容
實(shí)現(xiàn)一個(gè)掃描器,使用TCP connect進(jìn)行端口掃描,并把掃描到的結(jié)果記錄下來。
課程設(shè)計(jì)要求
(1)Windows或Linux環(huán)境下,程序在單機(jī)上運(yùn)行;(2)使用端口掃描對(duì)一臺(tái)主機(jī)進(jìn)行掃描,并顯示出結(jié)果;對(duì)一個(gè)網(wǎng)段進(jìn)行IP掃描,顯示出結(jié)果;
(3)提供友好的用戶界面。
總體設(shè)計(jì):利用已學(xué)的C語言知識(shí),結(jié)合在上網(wǎng)絡(luò)課上所學(xué)專業(yè)知識(shí),設(shè)計(jì)并開發(fā)出一個(gè)端口掃描程序,判斷指定的主機(jī)有哪些端口可以提供服務(wù), 并把掃描得知的結(jié)果記錄下來。能讓工作人員清楚的看出該臺(tái)主機(jī)上那個(gè)IP端口可以使用,那個(gè)IP端口有多少個(gè)端口可以被使用,詳細(xì)設(shè)計(jì):
1.先輸入想要掃描的網(wǎng)段;
2.然后將輸入的網(wǎng)段轉(zhuǎn)化為可排序的IP數(shù)組
3.建立多個(gè)線程,每個(gè)線程掃描一個(gè)IP。每個(gè)線程內(nèi)先建立數(shù)據(jù)流套接字,然后綁定 IP端口進(jìn)行掃描。將掃描端口保存到g_map_ScanResult。
4.清理結(jié)束后進(jìn)程,輸出結(jié)果。
5.計(jì)算所用時(shí)間。
測(cè)試的步驟:
在Windows系統(tǒng)下,在Microsoft Visual C++ 6.0的環(huán)境下,設(shè)計(jì)程序代碼,開發(fā)一個(gè)可以測(cè)試主機(jī)IP地址的實(shí)用型小軟件。
編碼完成后正常的運(yùn)行后,會(huì)彈出一個(gè)對(duì)話框。我們只需按照對(duì)話框中所提示的輸入規(guī)格的IP地址,那么則可以檢測(cè)出這臺(tái)主機(jī)IP地址的使用情況
即輸入開始IP地址以及結(jié)束IP地址即可開始掃描
掃描的結(jié)果中除了有幾個(gè)IP地址之外還會(huì)有那幾個(gè)IP地址可用的端口。如下圖所示:
編碼:#pragma comment(lib,“ws2_32.lib”)#pragma warning(disable:4786)#include
//socket相關(guān)
TIMEVAL
g_timeout;
//阻塞等待時(shí)間
//FD_SET
g_mask;
//socket模式設(shè)置,儲(chǔ)存socket信息 const short TIMEOUT = 1;
//阻塞等待時(shí)間
WSADATA
g_wsadata;
//socket版本信息
//線程中的互斥體
HANDLE g_PortMutex;
HANDLE g_ThreadNumMutex;
HANDLE g_ResultMutex;
//輸入結(jié)果的互斥量
//保存IP掃描的結(jié)果
multimap
//----------------------//線程函數(shù),掃描每一個(gè)IP DWORD WINAPI ThreadFunc(LPVOID th_para){
//獲取需要掃描的IP
//char *pStrIp =(char*)th_para;
unsigned long ulScanIp = *(unsigned long*)th_para;
int index = 0;
//端口索引
SOCKET link_sock;
//SOCKET
FD_SET
set_flag;
//SOCKET描述
short select_ret;
//select異步返回值
short port;
//正在掃描的端口
while(index < PORTSNUM)
{
port = g_portsTOscan[index];
//創(chuàng)建數(shù)據(jù)流套接字
link_sock = socket(AF_INET, SOCK_STREAM, 0);
if(link_sock == INVALID_SOCKET)
{
//cout << “創(chuàng)建link_sock socket失敗:錯(cuò)誤號(hào)為: ” << GetLastError()<< endl;
WaitForSingleObject(g_ThreadNumMutex,INFINITE);
g_runThreadNum--;
ReleaseMutex(g_ThreadNumMutex);
//cout << “***還有_”<< g_runThreadNum << “_個(gè)掃描線程進(jìn)行中**”<< endl;
return-1;
}
FD_ZERO(&set_flag);
//將指定文件描述符清空
FD_SET(link_sock,&set_flag);//用于在文件描述符集合中增加一個(gè)新的文件描述符
//設(shè)置連接地址
SOCKADDR_IN scan_addr;
scan_addr.sin_family = AF_INET;
scan_addr.sin_addr.s_addr = ulScanIp;
scan_addr.sin_port = htons(port);
unsigned long sock_set = 1;
ioctlsocket(link_sock,FIONBIO,&sock_set);
//設(shè)置套接字為非阻塞模式,第3個(gè)參數(shù)非0為非阻塞
connect(link_sock,(struct sockaddr *)&scan_addr, sizeof(scan_addr));//連接指定IP端口
select_ret = select(0,NULL,&set_flag,NULL,&g_timeout);//異步返回值
if(select_ret == 0 || select_ret ==-1)
{
++index;
continue;
}
else
{
strstream stream_result;
struct in_addr ipaddr;
ipaddr.s_addr = ulScanIp;
char *pStrIp = inet_ntoa(ipaddr);
stream_result << “t主機(jī)地址為:” << pStrIp << “t找到開放的端口: ” << port <<' 主站蜘蛛池模板: 久久av青久久久av三区三区| 日本在线视频www鲁啊鲁| 少妇无码太爽了不卡视频在线看| 精品1卡二卡三卡四卡老狼| 欧美成人看片一区二三区图文| √最新版天堂资源在线| 69麻豆天美精东蜜桃传媒潘甜甜| 亚洲 另类 熟女 字幕| 日产无人区一线二线三线乱码蘑菇| 极品美女扒开粉嫩小泬| 亚洲日韩国产中文其他| 国产手机在线精品| 中文字幕日韩精品一区二区三区| 亚洲国产精品久久久天堂| 男人添女人下部高潮视频| 久久亚洲一区二区三区四区五区| 欧美日韩不卡视频合集| 久久婷婷日日澡天天添| 西西4444www大胆无码| 日韩精品无码中文字幕一区二区| 中字幕久久久人妻熟女天美传媒| 久久99国产亚洲高清观看首页| 色一情一乱一伦一区二区三区| 四虎永久在线精品视频免费观看| 中文字幕人妻熟在线影院| 国产精品成熟老女人| 青青草原精品99久久精品66| 欧美大片18禁aaa免费视频| 亚洲а∨精品天堂在线| 人人妻人人澡人人爽人人精品av| 久久久久高潮综合影院| 亚洲国产精品成人影片久久| 日本被黑人强伦姧人妻完整版| 无码毛片内射白浆视频| 国产偷自视频区视频| 国产成 人 综合 亚洲专区| 成人无码潮喷在线观看| 免费人妻无码不卡中文18禁| 波多野结衣av在线无码中文18| 特级毛片a级毛片免费播放| 夜夜躁日日躁狠狠久久av|