- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学与技术学院课程设计成绩单
课程名称:网络编程与协议分析
指导教师:
姓名
性别
男
学号
班级
综合成绩
成绩等级
程序运行情况 (占总成绩 20%)
□能正确运行 □基本能正确运行 □能运行但结果不完善 (20 分) (15 分) (10 分)
程序功能的完善 程度
(占总成绩 10%)
□完善 □基本完善 □不完善
(10 分) (8 分) (5 分)
程序结构的合理 性
(占总成绩 10%)
□合理 □基本合理 □不太合理
(10 分) (8 分) (5 分)
对问题的答辩情 况
(占总成绩 40%)
□概念正确有创新 □能正确回答所有问题 □基本能正确回答 (40 分) (35 分) (30 分)
□部分问题回答概念不清晰
(20 分)
学生的工作态度 与独立工作能力 (占总成绩 10%)
□工作态度认真能独立完成任务 □工作态度认真但独立性较差 (10 分) (8 分)
□工作态度基本认真但缺乏独立性
(5 分)
设计报告的规范 性
(占总成绩
10%)
□符合规范 □基本符合规范 □规范性较差
(10 分) (8 分) (5 分)
优秀:90 分~100 分 良好:80 分~89 分 中等:70~79 分 及格:60~69 分 不及格 0 分~59 分
武汉科技大学计算机科学与技术学院制表
计算机科学与技术学院 课 程 设 计 报 告
课程名称:网络编程与协议分析
专
班
学
姓
业:
级:
号:
名:
指导老师:
《网络编程与协议分析》课程设计报告
一、课设题目:
网络数据包抓取与分析软件
二、课设要求:
能抓取本地主机所在局域网子网内的所有数据包
分析并显示所抓取数据包的 IP 头部各字段的信息
分析并显示所抓取数据包的封装在 IP 数据包内的协议头部字段信息
(TCP、UDP、ICMP 等)
生成日志信息,以文本文档形式保存
分析并显示所抓取数据包应用层协议头部字段信息
(HTTP、FTP、DNS、Telnet、SMTP、POP 等各种应用层协议中至少取三种) 三、用到的基本概念及原理
(3)Winpcap 的组成和结构
(4)Winpcap 基本原理
(5)NPF 在 windows 系统中的位置
(6)系统构架
四、部分代码
1)初始化套接字
BOOL CTestDlg::SockInit()
{
WSADATA wsa;
if(WSAStartup(MAKEWORD(2,2),wsa)!=0)
{
AfxMessageBox(WSAStartup fail!);
}
m_sock=socket(AF_INET,SOCK_RAW,0);
if(m_sock==INVALID_SOCKET)
{
AfxMessageBox(socket fail!);
}
SOCKADDR_IN addr;
addr.sin_family=AF_INET;
addr.sin_port=htons(5000);
struct hostent FAR * pHostent;
char FAR name[25];
gethostname(name, 25);
pHostent = gethostbyname(name);
memcpy(addr.sin_addr.S_un.S_addr,pHostent-h_addr_list[0],pHostent-h_len);
if(bind(m_sock,(SOCKADDR *)addr,sizeof(addr))!=0)
{
AfxMessageBox(bind fail!);
}
DWORD dwBytesRet;
unsigned int optval = 1;
int pCount=0;
if(INVALID_SOCKET==(WSAIoctl(m_sock,SIO_RCVALL,optval,sizeof(optval),
NULL, 0, dwBytesRet, NULL, NULL)))
{
AfxMessageBox(WSAIoctl Fail!);
return false;
}
return true;
}
2)初始化表格
BOOL CTestDlg::ListInit()
{
DWORD dwStyle = GetWindowLong(m_List.m_hWnd, GWL_STYLE); SetWindowLong(m_List.m_hWnd,GWL_STYLE,dwStyle|LVS_REPO);
DWORD dwStyles = m_List.GetExStyle();
dwStyles = ~LVS_EX_CHECKBOXES;
m_List.SetExtendedStyle(dwStyles|LVS_EX_FULLROWSELECT|LVX
文档评论(0)