- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络协议分析
实验指导书
贾伟
陕西理工学院数学与计算机科学学院
2015-06
网络协议分析实验说明
适用网络工程专业2012级。
实验总学时:10学时;实验项目:6个,其中3个验证,3个综合,必须完成1、2、4这三个实验。通过使用wireshark捕获数据包进行分析和使用C语言编程实现对数据包的构造和分析进行实验,每个实验完成后需要将实验捕获的数据、程序代码等实验数据保存下来并上交。
实验完成后,除上交纸质的实验报告外,还要上交实验有关的电子文件,要求文件命名为:“实验X_学号_姓名_其它说明”,X取值为中文汉字“一”、“二”、…… ,连接符为英文输入的下划线“_”,学号为完整长度,各项中间均不得添加空格。
实验项目表
序号
实验项目名称
内容
课时
性质
0
网络协议分析基础(预备实验)
数据包捕获软件的使用;C语言编程。
2
验证/可选
1
网络层协议分析
捕获ARP、IP、ICMP网络数据包并分析;编程构造IP数据包。
4
综合/必做
2
传输层协议分析
捕获TCP、UDP网络数据包并分析;编程构造UDP数据包。
4
综合/必做
3
HTTP协议分析
捕获HTTP网络数据包并分析。
2
验证/可选
4
协议分析器程序设计
编程捕获数据包并统计数据包信息。
4
综合/可选
5
Winpcap编程基础
通过Winpcap 捕获发送数据包
2
验证/可选
网络协议分析基础(预备实验)
0.A 数据包捕获软件的使用
数据包捕获分析软件建议选择Wireshark,因为它目前是全世界最广泛的网络数据包分析软件之一。
参考文献:(ISBN:978-7-115-30236-6)
Chris Sanders;诸葛建伟等(译).Wireshark数据包分析实战(第2版).人民邮电出版社.2013,3.
0.A.1尝试软件的下载和安装
0.A.2设置软件捕获过滤器
0.A.3选取网卡,开启捕获
0.A.4停止捕获,保存捕获数据,打开捕获的数据文件
0.A.5打开捕获的数据文件,查看数据包内容
0.A.6设置显示过滤器
0.A.8 Wireshark高级数据包分析
查看网络端点和网络会话;跟踪TCP流,图形展示IO流和数据流。
0.B C语言编程与网络数据包操作分析
熟悉内存数据块的数据保存形式和对其使用不同指针的读取形式所获得的不同数据内容。
0.B.1 C的有关知识回顾
1) 了解ANSI C and ISO C的Keywords
C89 has 32 keywords (reserved words with special meaning):
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
2) 掌握C的有关基本数据类型及其长度
类型
长度(bit)
说明
char:
8
typical 8-bits
short:
16
typical 16-bits
int:
16/32
typical 16-bits or 32-bits,bits-number of int must be more than short.
long:
32
typical 32-bits,also larger than int
3)字符数组和结构体定义
(1)定义字符数组的语法
(2)定义结构体的语法
(3)数据类型的强制类型转换语法
4)指针操作
(1)定义指针变量的语法
(2)指向字符数组的指针
(3)指向结构体的指针
5)比特位操作(与、或和移位)
0.B.2 C语言编程练习
1) 输出内存地址的16进制形式
2) 讨论IPv4地址的定义和操作
定义形式
i)定义为32bit长度的无符号整数
unsigned int ip;
ii)定义为4个8bit长度的无符号字符串
unsigned char ip[4];
实现
1)点分十进制形式的输入输出;
2)判断是否是合法的IP地址;
3)判断属于的IP地址类别(A、B、C、D类);
4)给IP地址和掩码,给出网络前缀;
5)给2个IP地址和掩码,判断两个IP是否属于同一个网络。
3)字节序(BYTE ORDER)讨论
了解字节序(大端序和小端序)的含义.
参考网上资料:/wiki/字节序。
1)如何判断本机的字节序。
int main(int argc, char **argv)
{
//怎样判断机器的**字节顺序**是高字节在前还是低字节在前?
//
文档评论(0)