【计算机网络】NAT协议

实验目的

应用所学知识,理解 NAT 协议的运作。

实验步骤与结果

1.任务一:

(1)客户端的 IP 地址是多少?

可见,客户端IP地址为192.168.1.100。

(2)客户端实际上与几个不同的 Google 服务器通信,以实现“安全浏览”(请参阅任务三)。提供主要 Google 网页的服务器地址是 64.233.169.104,为了仅仅显示客户端的请求和服务器的响应,请在 Wireshark 过滤器输入以下过滤条件“http && ip.addr == 64.233.169.104 ”(不包括引号)。请截图当前显示的内容。

(3)请选择在 7.109267 s 时间的客户端发送到 Google 服务器(其 IP 地址为 IP 地址 64.233.169.104)的 HTTP GET。承载此 HTTP GET 的 IP 数据报上的源 IP 地址和目标 IP 地址以及 TCP 源端口和目标端口是什么?

可见,源 IP 地址为192.168.1.100,目标IP地址为64.233.169.104,TCP 源端口为4335,目标端口为80。

(4)对于前一问发送的 HTTP GET 消息,在什么时间客户端从 Google 服务器收到对应的状态码 200、状态 OK 的 HTTP 响应消息?携带状态码 200、状态 OK 的 HTTP 响应消息的 IP 数据报上的源和目标 IP 地址以及 TCP 源和目标端口是什么?

可见在7.158797s客户端从 Google 服务器收到对应的状态码 200、状态 OK 的 HTTP 响应消息。

查看其IP数据报:

可见,源 IP 地址为64.233.169.104,目标IP地址为192.168.1.100,TCP 源端口为80,目标端口为4335。

(5)回想一下,在将 GET 请求发送到 HTTP 服务器之前,TCP 必须首先使用三次 SYN/ACK 消息建立连接。在什么时间客户端发送了含有 TCP SYN 的报文建立连接消息,以后续用于发送在7.109267 s 的 GET 请求?TCP SYN 报文的源 IP 地址和目标 IP 地址以及源端口和目标端口是什么?在什么时间客户端收到了对应的 SYN-ACK 报文?此 SYN-ACK 报文的源和目标 IP 地址以及源端口和目标端口是什么?(注意你需要清除在第 2 题中的过滤器表达式并且输入“tcp”(不含引号)表达式,仅仅显示 TCP 报文消息。)

可见,在7.109267 s 的 GET 请求之前,客户端在7.075657s左右发送了含有 TCP SYN 的报文建立连接消息,在7.108986s左右收到了对应的 SYN-ACK 报文。

查看SYN报文的IP数据报:

可见,源 IP 地址为192.168.1.100,目标IP地址为64.233.169.104,TCP 源端口为4335,目标端口为80。

查看ACK报文的IP数据报:

可见,源 IP 地址为64.233.169.104,目标IP地址为192.168.1.100,TCP 源端口为80,目标端口为4335。

2.任务二:

(1)在 NAT_ISP_side 跟踪文件中,找到跟刚才客户端 7.109267s 同样目的地发送的 HTTP GET 消息(这个时间是在 NAT_home_side 跟踪文件中记录的时间)。该消息何时出现在 NAT_ISP_side 跟踪文件中?承载此 HTTP GET 消息的 IP 数据报的源和目标 IP 地址以及 TCP 源和目标端口是什么?

使用http过滤跟踪文件中的数据包,并找到跟刚才客户端 7.109267s 同样目的地发送的 HTTP GET 消息:

可见该消息在6.069168s出现在NAT_ISP_side 跟踪文件中。查看其IP数据报:

可见,源 IP 地址为71.192.34.104,目标IP地址为64.233.169.104,TCP 源端口为4335,目标端口为80。

(2)与任务一的第 3 问中找到的 HTTP GET 消息相比,此 HTTP GET 消息中的某些字段发生了变化。试分析 IP 层中的所有字段,找到发生改变的字段,说明这些字段的值由原来的什么数值改变成了现在的什么数值,并解释改变的原因。

可以发现,源IP地址相较于任务一的第 3 问中找到的 HTTP GET 消息相比发生了改变。

对比IP层所有字段:

发现校验和Checksum 由0xaef3变为了0x386d,因为源ip地址字段发生了变化,校验和Checksum自然也随之发生改变。

(3)在 NAT_ISP_side 跟踪文件中,从 Google 服务器收到的第一条 HTTP 200 OK 消息在什么时间?携带此 HTTP 200 OK 消息的 IP 数据报上的源 IP 和目标 IP 地址以及 TCP 源和目标端口是什么?与你在任务一的第 4 问对于回答的 NAT_home_side 的结果相比,哪些字段相同,哪些字段不同?

可见,在6.117570s从 Google 服务器收到的第一条 HTTP 200 OK 消息。

查看其IP数据报:

可见,源 IP 地址为64.233.169.104,目标IP地址为71.192.34.104,TCP 源端口为80,目标端口为4335。

易知,目标IP地址发生了变化。

(4)在 NAT_ISP_side 跟踪文件中,跟任务一的第 5 问相同的客户端到服务器 TCP SYN 报文段和服务器到客户端 TCP SYN-ACK 报文段是在什么时间出现的?这两个报文段的源 IP 和目标 IP 以及源端口和目标端口是什么?与你在任务一的第 5 问的回答相比,哪些字段相同,哪些字段与不同?

跟任务一的第 5 问相同的客户端到服务器 TCP SYN 报文段和服务器到客户端 TCP SYN-ACK 报文段分别在6.035475 s 和 6.067775 s出现。

TCP SYN 报文段源 IP 地址为71.192.34.104,目标IP地址为64.233.169.104,TCP 源端口为4335,目标端口为80。

SYN-ACK 报文段源 IP 地址为64.233.169.104,目标IP地址为71.192.34.104,TCP 源端口为80,目标端口为4335。

(5)使用对于之前问题的回答,做出类似图 1 的 NAT 转换表(NAT translation table)。

内网地址及端口

外网地址及端口

192.168.1.100, 4335

71.192.34.104, 4335

3.任务三:

除了上面提到的 HTTP GET 消息和 HTTP 200 OK 消息以外,还与其他 Google 服务器有额外的连接,例如,在 NAT_home_side 跟踪文件中,分析时间为 1.572315s 的客户端到服务器 GET 消息,以及时间为 7.573305s 的 GET 消息。仔细研究这两个 HTTP 消息的使用,写出说明分别解释这两个消息的作用。

找到时间为 1.572315s 的客户端到服务器 GET 消息:

以及时间为 7.573305s 的 GET 消息:

作用为检测网络连接是否可用并保证网络通信安全。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mitch311

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值