计算机网络实验总结

实验一:Linux虚拟网络环境和Wireshark抓包软件

下载并安装Vmware

  1. 下载安装Vmware workstation pro虚拟机,链接: https://www.vmware.com/cn/products.html

下载并安装CentOS7

  1. 下载CentOS7安装镜像,链接:https://www.centos.org/download/
  2. 在Vmware中新建虚拟机,安装CentOS7;

在CentOS7中下载Wireshark

  1. 验证tun模块是否已安装:
modinfo tun
  1. 安装EPEL源的命令:
yum install epel-release
  1. 安装Wireshark软件的命令:
yum install wireshark 
yum install wireshark-gnome

创建脚本文件

  1. CentOS7中安装了带有GUI的文本编辑软件gedit,利用gedit编辑 bash脚本程序。
  2. bash脚本程序的首行必须是"#!/bin/sh"。
#!/bin/sh
#设置脚本时显示脚本linux命令
ser -x
#创建ns1 和 ns2 
ip netns add ns1 
ip netns add ns2 
#创建veth pair
ip link add tap1 type veth peer name tap1_peer 
#迁移 tap1 和tap1_peer 接口
ip link set tap1 netns ns1 
ip link set tap1_peer netns ns2 
#配置ip地址
ip netns exec ns1 ip addr add local 192.168.50.1/24 dev tap1 
ip netns exec ns2 ip addr add local 192.168.50.2/24 dev tap1_peer 
#将网络接口状态设置为up 
ip netns exec ns1 ip link set tap1 up 
ip netns exec ns2 ip link set tap1_peer up
  1. 修改脚本文件为可执行权限
chmod +x '文件地址'

实验二:HTTP协议探索和分析

从主机上启动浏览器访问http://www.zzu.edu.cn,同时利用Wireshark软件抓包,保存抓包结果并分析

  1. 在Vmware中的Linux主机上启动Wireshark软件,选择连接互联网的网络接口,启动抓包。
  2. 在Linux主机上打开浏览器,访问http://www.zzu.edu.cn,等待页面完全显示出来后关闭浏览器。
  3. 在Wireshark中停止抓包,并保存抓包结果文件。

从抓包结果中,过滤出浏览器和Web服务器之间的通信,分析HTTP协议的请求和响应格式

  1. 在 Wireshark 软件的显示过滤器中输入“http.host==www.zzu.edu.cn”,使
    Wireshark 仅显示 HTTP 协议报文中包含首部行“Host:www.zzu.edu.cn”的
    报文。
    在这里插入图片描述
  2. 在 Wireshark 软件的显示过滤器中输入“ip.addr == 202.196.64.48”,使
    Wireshark 显示 web 服务器参与的所有通信数据。
    在这里插入图片描述
  3. 任意选择一个HTTP报文,点击Analyze 菜单→Follow TCP Stream 子菜单,
    跟踪 TCP 流,选择其中任意一对 HTTP 请求和响应,分析 HTTP 请求和响
    应的格式。
    在这里插入图片描述

从抓包结果中,分析cookie的格式,理解cookie的作用

  1. 在 Wireshark 软件的显示过滤器中输入“http.set_cookie or http.cookie”。
    使 Wireshark 显示包含 set-cookie 的 HTTP 响应和包含 cookie 的 HTTP
    请求,分析 cookie 的格式和作用。
    在这里插入图片描述

实验三:UDP 协议探索和分析

创建虚拟网络拓扑

  1. 编辑 bash 脚本,创建虚拟网络拓扑
  2. 执行 Linux 命令 ip netns list 查询已经建立的 NS 列表
  3. 在所有 NS 内执行 ifconfig -a 命令查看 NS 内的网络接口配置
  4. .执行 Linux 命令 brctr show 查看交换机桥接状态,验证网络拓扑

分别模拟主机ns56A和主机ns57C

  1. 打开一个新的终端窗口,利用 Linux 命令 bush 将本窗口模拟成主机 ns56A的终端
ip netns exec ns56A bash
  1. 再打开一个终端窗口,利用 Linux 命令 bush 将本窗口模拟成主机 ns57C 的终端
ip netns exec ns57C bash

在主机ns57C上后台启动 Wireshark,并选择接口 tap57C,启动抓包

  1. .新开一个终端窗口,在主机ns57C上后台启动 Wireshark
ip netns exec ns57C wireshark &
  1. 在Wireshark窗口中选择接口tap57C,启动抓包

在主机ns57C上打开UDP服务程序,在主机ns56A上打开UDP客户程序,在ns57C上的UDP服务程序通信

  1. 在主机 ns57C 的模拟终端中,在 4499 端口打开 UDP 服务程序
nc -lvu 4499
  1. 在主机 ns56A 的模拟终端中,打开 UDP 客户程序,并指定 UDP 服务程序的IP地址和端口
nc -u 192.168.57.254 4499
  1. .在主机 ns56A 的模拟终端中,输入任意一行字符,然后回车确认,将输入的字符发送给主机 ns57C
    在这里插入图片描述
  2. 在主机 ns57Cns56A 的模拟终端中,输入任意一行字符,然后回车确认,将输入的字符发送给主机 ns56A
    在这里插入图片描述

在 Wireshark 中停止抓包,保存结果并分析本次 UDP 通信,理解 UDP 用户数据报格式

实验四:TCP 协议探索和连接管理分析

创建虚拟网络拓扑

  1. 利用脚本程序创建虚拟网络拓扑
  2. 利用脚本程序配置各路由器的静态路由
  3. 利用脚本程序关闭网卡 offload 功能,将运输层封装时需要的计算还给 CPU

分别模拟主机ns56A和主机ns57C

  1. 打开一个新的终端窗口,利用 Linux 命令 bush 将本窗口模拟成主机 ns56A的终端
ip netns exec ns56A bash
  1. 再打开一个终端窗口,利用 Linux 命令 bush 将本窗口模拟成主机 ns57C 的终端
ip netns exec ns57C bash

在主机ns57C上创建一个3500字节长度的文件备用

  1. 在主机 ns57C 的模拟终端中,创建一个 3500 字节长度的文件,命名为3500.0
truncate -s 3500 3500.0

在主机 ns57C 上启动 Wireshark,在接口tap57C上启动抓包

  1. 新开一个终端窗口,在主机 ns57C 上启动 Wireshark
ip netns exec ns57C wireshark &

2.在 Wireshark 窗口中选择 tap57C,启动抓包
在这里插入图片描述

在主机ns57C上打开TCP服务程序,在主机ns56A上打开TCP客户程序,然后通过网络将主机ns57C上的3500.0文件读取到主机ns56A

  1. 在主机 ns57C 的模拟终端中,在 4499 端口打开 TCP 服务,并开启 shell 程序
nc -e /bin/sh -lv 4499
  1. 在主机 ns56A 的模拟终端中,打开 TCP 客户程序,并指定 TCP 服务程序的IP地址和端口
nc 192.168.57.254 4499
  1. 在主机 ns56A 的模拟终端中,将命令被发送到主机 ns57C 的 shell 中,读取文件 3500.0,命令执行结果通过 TCP 连接发送回主机 ns56A
cat 3500.0
  1. 文件传输完毕后,在主机 ns57C 和 ns56A 上,先后用“Ctrl+C”终止 TCP通讯
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值