没有合适的资源?快使用搜索试试~ 我知道了~
基于原始套接字的网络程序设计
需积分: 9 17 下载量 8 浏览量
2016-12-22
15:32:21
上传
评论
收藏 536KB DOC 举报
温馨提示
试读
16页
(1)编写traceroute程序。要求实现基于ICMP的traceroute探测程序。 (2)对FTP协议进行解析,分析出用户名和密码
资源推荐
资源详情
资源评论
实验 3 基于原始套接字的网络程序设计
姓名: 学号: 班级:
一、 实验环境:
系统, 编译器
二、实验内容:
1.设计思路
()编写 程序。要求实现基于 的 探测程序。
程序可以使用多种协议实现,其原理是借助 的超时差错
报文来反馈路径信息。具体而言,以 实现为例,在 首部有一个 字
段,记录该数据报在网络上的存活时间(经过的路由器条数)。每当分组经过
一个路由器,其存活时间 会减 ,当其 减为 时,路由器会取消分组,
并传送一个 超时差错报文给发送端,而当请求包到达目的主机时,目的
方会返回一个正常的 响应。这样,通过有策略地构造 值递增的探测
报文,就能借助路由器反馈的 超时差错和 响应来收集从探
测源到探测目标路径上的路由器信息。
为了满足 的基本功能,需要构建一个 的探测框架,
具有 请求的构造和发送功能,能够接收 协议承载的差错报
文和 响应,并能够对不同类型的反馈做出正确的解析。基于此,该框架
设置最大的 探测值,对用户输入的目标域名进行地址转换,将 值从
开始逐渐递增,针对每个 值进行三次探测,接收路由器返回的 超时
差错应答,获得探测包往返的时间延迟,之道获得目的地址的 响
应或达到最大跳数为止。
(2)对 FTP 协议进行解析,分析出用户名和密码
需要通过 ioctlsocket()来进行设置接收经过网卡的所有的数据包。
2.程序清单(要求有详细的注释)
(1)traceroute 程序
!"
#$%"
&&$%"
'!&(
&'!!!)*+,-$*,.
//报头
0&1
2
'%%-34(//4位头部长度
'%534(//4位版本号
'%(//6位服务类型
'%-(//7位总长度
'%8(//7位标识符
'%1'--9'(//位标志加位片偏移
'%(//6位生存时间
'%&(//6位上层协议号
'%%#!(//7位校验和
''(//位源地址
''(//位目的地址
:-;<=(
//报头
0&1
2
>?0&(//6位类型字段
>?(//6位代码字段
@=#!(//7位校验和
@=(//7位标识符
@=A(//7位序列号
:-;<=(
//报文解码结构
0&1
2
@=AB(//序列号
<=<=&!(//往返时间
-(//返回报文的地址
:<<-=@(
//计算网际校验和函数
@=%#!)@=C&>1+D.
2
''#!E(
%)D".
剩余15页未读,继续阅读
资源评论
qq_36109497
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功