linux下开源网络分析框架,实验三实验目的掌握Linux下开源网络软件的安装分析与使用实验.doc...

实验三实验目的掌握Linux下开源网络软件的安装分析与使用实验.doc

实验三

实验目的:掌握Linux下开源网络软件的安装、分析与使用。

实验内容:

1)在Linux下安装广泛使用的libpcap, libnids 开源软件,了解其工作原理。

2)通过分析libnids的部分代码,了解IP分片重组、TCP连接建立与关闭在Linux中的实现。

3)通过分析相关代码了解libnids中端口扫描攻击的检测机制,安装tcpreplay 开源软件,学会使用tcpreplay来模拟网络环境进行网络测试。

4)(选做)通过修改scan.c来扩充攻击检测能力。

注:实验1)、2)和3)为必做,标注为challenge的内容及实验4)libpcap-1.0.0.tar.gz)。

通过命令 tar zxf libpcap-1.0.0.tar.gz进行解压。

进入解压后的目录,依次运行 ./configure && make && make install 进行安装。

根据第一页链接下载 libnids (通常为libnids-1.24.tar.gz)

通过命令 tar zxf libnids-1.24.tar.gz 进行解压。

进入解压后的目录,阅读README文件。

运行 ./configure --disable-libglib --disable-libnet 命令。

依次运行make && make install 进行安装。

安装完成后进入目录 libnids-1.24/samples 运行 make 命令,运行成功的话 printall.c 会被编译为 printall。

在终端中运行 ./printall (Hint: 若程序提示“error while loading shared libraries: libpcap.so.1”,请温习Linux下动态库的知识并自行解决。)。之后本机中所有与外界的TCP连接(例如FTP连接,HTTP连接,SMTP连接等)的数据包内容都会被打印在终端上。如下图为通过FTP连接时printall截获的数据包内容。

(1)问题:结合本实验,请解释TELNET协议为什么不安全?

(2)Challenge: 找一台开通Telnet的服务器,在本机通过telnet登录到服务器,运行printall,打印出telnet用户尽可能多的信息。

2.分析libnids代码

Libnids中的TCP/IP协议栈代码主要是从Linux kernel 2.0中移植到userspace上改写而成,很大程度上体现了TCP/IP协议栈在Linux中的具体实现,具有很好的教学价值。

本实验中,我们从libnids中抽出两个比较典型的网络协议栈实现代码片段。同学们可以挑选其中一个感兴趣的代码片段,结合理论知识分析相关代码。

IP分片重组:

实现代码为libnids.c 中gen_ip_frag_proc()函数的 384-395行(包括相关的子函数)。请同学们结合网络教材中IP分片重组的理论知识对libnids中的代码(特别是ip_defrag_stub 函数)进行分析,结合代码回答以下问题:

对IP分片重组有影响的IP头标志位有哪些?

IP分片重组中,丢弃超时的分片是怎么实现的?

IP分片乱序到达时的处理流程是怎样的?

给出完整的IP分片重组状态图(或详细描述)。

TCP连接的建立与关闭:

实现代码为 tcp.c 中 process_tcp()函数(包括相关的子函数)。请同学们结合网络教材中TCP建立与关闭的理论知识对libnids中的代码进行分析,结合代码回答以下问题:

给出完整的TCP连接状态图。

结合代码,描述TCP连接状态图在libnids中的实现。

对异常的TCP包,协议栈是怎么处理的?(例如,收到两个连续的SYN数据包,或先收到SYN-ACK数据包再收到SYN包)

3.libnids端口扫描攻击检测的实现

端口扫描攻击的检测代码为scan.c中detect_scan函数。理论知识可查看wikipedia中“port scanner”的“SYN scanning”部分。请同学们结合理论知识对libnids中的代码进行分析,并结合代码回答以下问题:

Libnids中port scan的原理是什么?通过什么办法检测到网络中port scan攻击?

为模拟端口扫描和检测,在局域网中按照下图建立实验环境。一台PC机上安装tcpreplay软件,从网上下载开源的包含端口扫描攻击的packet trace文件,也可以自己生成或下载教学主页上的trace文件,利用tcpreplay回放这些数据包来模拟网络流,另一台PC机上安装libnids 进行攻击检测。

要求:对于所选用的trace文件,统计检测到的端口扫描攻击的次数。

4.扩充scan.c的功能

仔细分析scan.c文件,提出你的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值