2-26 morning

merge-requests/7/head
Jeff Chen 4 years ago
parent 3aa3fbc97d
commit 74121d0751

@ -73,18 +73,18 @@
\multirow{3}{1.5cm}{\centering 网络抓包与协议分析} \multirow{3}{1.5cm}{\centering 网络抓包与协议分析}
& Wireshark软件使用和ARP分析 & & Wireshark软件使用和ARP分析 &
\tabitem{掌握Wireshark的基本操作使用捕获过滤器和显示过滤器抓取和分析有线局域网的数据包。} \par \tabitem{学习Wireshark的基本操作掌握过滤器使用抓取和分析数据包。} \par
\tabitem{掌握以太网MAC帧的基本结构。} \par \tabitem{熟悉以太网MAC帧的基本结构。} \par
\tabitem{掌握ARP协议的特点及工作过程} \tabitem{掌握ARP协议的特点及工作原理}
& 2 & $\star$ \\ \cline{2-5} & 2 & $\star$ \\ \cline{2-5}
& IP和ICMP分析 & & IP和ICMP分析 &
\tabitem{熟练使用Wireshark软件观察IP数据报的基本结构分析数据报的分片过程;} \par \tabitem{观察IP数据报的基本结构理解数据报的分片过程;} \par
\tabitem{掌握基于ICMP协议的ping和traceroute命令及其工作过程} \tabitem{掌握基于ICMP协议的ping和traceroute命令及其工作原理}
& 2 & $\star\star$ \\ \cline{2-5} & 2 & $\star\star$ \\ \cline{2-5}
& TCP与拥塞控制 & & TCP与拥塞控制 &
\tabitem{运用Wireshark观察分析TCP协议报文分析通信时序理解TCP的工作过程} \par \tabitem{观察TCP报文分析通信时序理解TCP的工作过程} \par
\tabitem{分析TCP连接管理、流量控制和拥塞控制的过程能够分析TCP的性能问题。} \tabitem{分析TCP连接管理、流量控制和拥塞控制的过程能够分析TCP的性能问题。}
& 4 & $\star\star\star$ \\ \hline & 4 & $\star\star\star$ \\ \hline

@ -3,9 +3,9 @@
\chapter{网络抓包与协议分析} \chapter{网络抓包与协议分析}
\label{chap:wireshark} \label{chap:wireshark}
本单元实验要求学生能熟练使用Wireshark软件, 本单元实验要求学生能熟练使用网络抓包软件,
捕捉和分析有线网络数据包掌握以太网、ARP、IP、ICMP 捕捉和分析网络数据包掌握以太网、ARP、IP、ICMP
和TCP等重要协议传输单元结构 和TCP等重要协议传输单元结构,
深入理解相关网络命令和重要协议算法的工作原理, 深入理解相关网络命令和重要协议算法的工作原理,
从而培养网络故障检测、网络性能改进和网络安全分析的能力。 从而培养学生网络故障检测、网络性能改进和网络安全分析的能力。
% (备注第二版将增补实验1.4: IEEE 802.11协议分析。) % (备注第二版将增补实验1.4: IEEE 802.11协议分析。)

@ -1,29 +1,30 @@
%# -*- coding: utf-8-unix -*- %# -*- coding: utf-8-unix -*-
\section{Wireshark软件使用与ARP分析} \section{Wireshark软件使用与ARP协议分析}
\label{sec:c:wireshark:s:arp} \label{sec:c:wireshark:s:arp}
\subsection{实验目的} \subsection{实验目的}
\label{subsec:c:wireshark:s:arp_object} \label{subsec:c:wireshark:s:arp_object}
本实验旨在让学生掌握Wireshark的基本操作使用捕获过滤器和显示过滤器 本实验旨在让学生掌握Wireshark的基本操作
抓取和分析有线局域网的数据包掌握以太网MAC帧的基本结构掌握ARP协议的特点及工作过程。 抓取和分析有线局域网的数据包;
掌握以太网MAC帧的基本结构
掌握ARP协议的特点及工作过程。
\subsection{实验内容} \subsection{实验内容}
\label{subsec:c:wireshark:s:arp_content} \label{subsec:c:wireshark:s:arp_content}
练习使用Wireshark抓取相关有线局域网的数据包并进行分析。 练习使用Wireshark抓取局域网的数据包并进行分析:
\begin{enumerate} \begin{enumerate}
\item \textbf{熟悉Wireshark界面、基本设置和使用方法} \item \textbf{学习Wireshark基本操作}
熟悉菜单、工具栏和主窗口根据自己需要设置Wireshark视图 重点掌握捕获过滤器和显示过滤器。
学习使用捕获过滤器和显示过滤器;捕获有线局域网的数据包并保存 \item \textbf{观察MAC地址}了解MAC地址的组成辨识MAC地址类型。
\item \textbf{MAC地址}了解MAC地址的组成查看其OUI信息。
\item \textbf{分析以太网帧结构:}观察以太网帧的首部和尾部, \item \textbf{分析以太网帧结构:}观察以太网帧的首部和尾部,
了解数据封装成帧的过程,计算帧长度 了解数据封装成帧的原理
\item \textbf{差错检测FCS计算检验:}计算帧尾校验和, \item \textbf{计算FCS检验:}计算帧尾校验和,
并用抓包数据文件进行验证。 并用抓包数据文件进行验证。
\item \textbf{ARP协议分析}抓取ARP请求和应答报文分析其工作过程。 \item \textbf{分析ARP协议}抓取ARP请求和应答报文分析其工作过程。
\end{enumerate} \end{enumerate}
\subsection{实验原理} \subsection{实验原理}
@ -123,8 +124,8 @@ IP地址长度为4字节。每个字段的含义如下
\label{subsec:c:wireshark:s:arp_requirement} \label{subsec:c:wireshark:s:arp_requirement}
\begin{itemize} \begin{itemize}
\item 装有Wireshark软件的PC机一台Windows或Linux操作系统 \item PC机一台连入局域网
\item 处于局域网环境。Wireshark建议3.0以上。 \item Wireshark软件,建议3.0以上。
\end{itemize} \end{itemize}
\subsection{实验步骤} \subsection{实验步骤}

@ -8,8 +8,8 @@
IP和ICMP协议是TCP/IP协议簇中的网络层协议 IP和ICMP协议是TCP/IP协议簇中的网络层协议
在网络寻址定位、数据分组转发和路由选择等任务中发挥了重要作用。 在网络寻址定位、数据分组转发和路由选择等任务中发挥了重要作用。
本实验使学生能熟练使用Wireshark软件观察IP数据报的基本结构 本实验要求熟练使用Wireshark软件观察IP数据报的基本结构
分析数据报的分片掌握基于ICMP协议的ping和traceroute命令及其工作过程 分析数据报的分片掌握基于ICMP协议的ping和traceroute命令及其工作原理
\subsection{实验内容} \subsection{实验内容}
\label{subsec:c:wireshark:s:ip_content} \label{subsec:c:wireshark:s:ip_content}
@ -39,7 +39,7 @@ IP和ICMP协议是TCP/IP协议簇中的网络层协议
可实现大规模的异构网络互联互通,为主机提供无连接的、尽力而为的数据包传输服务。 可实现大规模的异构网络互联互通,为主机提供无连接的、尽力而为的数据包传输服务。
在网际协议第4版IPv4IP数据报是一个可变长分组 在网际协议第4版IPv4IP数据报是一个可变长分组
包括首部和数据两部分(如图\ref{c:wireshark_ip-structure})。 包括首部和数据两部分(如图\ref{c:wireshark_ip-structure})。
首部由20~60字节组成包含与路由选择和传输有关的重要信息其各字段意义如下 首部由2060字节组成包含与路由选择和传输有关的重要信息其各字段意义如下
\begin{figure}[!ht] \begin{figure}[!ht]
\centering \centering
@ -220,7 +220,7 @@ tracert命令Linux格式和常用参数如图\ref{fig:tracert-cmd}所示
\subsection{实验条件} \subsection{实验条件}
\label{subsec:c:wireshark:s:ip_requirement} \label{subsec:c:wireshark:s:ip_requirement}
装有Wireshark软件的PC机一台Linux或OS 操作系统);局域网环境。 装有Wireshark软件的PC机一台,处于局域网环境。
参考资料: 参考资料:
@ -333,18 +333,18 @@ tracert命令Linux格式和常用参数如图\ref{fig:tracert-cmd}所示
在PC1向PC2发送数据的传输过程中 在PC1向PC2发送数据的传输过程中
以太网数据帧的首部字段和IP数据报的首部字段是怎样变化的 以太网数据帧的首部字段和IP数据报的首部字段是怎样变化的
如果有条件请搭建实验平台进行实验并使用Wireshark软件验证你的答案。 如果有条件请搭建实验平台进行实验并使用Wireshark软件验证你的答案。
\item 拒绝服务Denial of ServiceDoS攻击通过消耗目标主机设备的某种资源 \item 拒绝服务Denial of ServiceDoS攻击DoS通过消耗目标主机设备的某种资源,
导致其网络服务不能被正常用户使用。 导致其网络服务不能被正常用户使用。
\begin{enumerate} \begin{enumerate}
\item IP数据报分片机制可能被攻击者利用来构建拒绝服务攻击。 \item IP数据报分片机制可能被攻击者利用来构建拒绝服务攻击。
试设计一种利用IP数据报分片机制发动DOS攻击的方法并提出防御的思路。 试设计一种利用IP数据报分片机制发动DoS攻击的方法并提出防御的思路。
\item 请思考利用ICMP报文构建DOS攻击的可能性以及防御方法。 \item 请思考利用ICMP报文构建DoS攻击的可能性以及防御方法。
\end{enumerate} \end{enumerate}
\item 在实际操作中Traceroute命令返回的某些条目以“*”号表示。 \item 在实际操作中Traceroute命令返回的某些条目以“*”号表示。
请思考有哪些原因可能导致这样的情况,该如何避免这样的情况 请思考有哪些原因可能导致这样的情况。
\item 发送方要怎样决定IP数据报分组大小 \item 发送方要怎样决定IP数据报分组大小
才能避免因为不同网络MTU不一致而引起分片呢 才能避免因为不同网络MTU不一致而引起分片呢
\item客户端给服务器(其地址为\texttt{\#IP}发送三个ping命令 \itemPC1给PC2(其地址为\texttt{\#IP}发送三个ping命令
请比较命令的结果并用Wireshark软件进行观察分析。 请比较命令的结果并用Wireshark软件进行观察分析。
\begin{enumerate} \begin{enumerate}
\item \texttt{ping \#IP -l 1472 -f -n 1} \item \texttt{ping \#IP -l 1472 -f -n 1}

@ -9,7 +9,7 @@
TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、 TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、
可靠的、基于字节流的传输层通信协议。 可靠的、基于字节流的传输层通信协议。
本实验通过运用Wireshark对网络活动进行抓包分析 本实验通过运用Wireshark对网络活动进行抓包分析
让学生观察TCP协议报文分析通信时序帮助同学理解TCP的工作过程 观察TCP协议报文分析通信时序理解TCP的工作过程
掌握TCP工作原理与实现 掌握TCP工作原理与实现
学会运用Wireshark分析TCP连接管理、流量控制和拥塞控制的过程发现TCP的性能问题。 学会运用Wireshark分析TCP连接管理、流量控制和拥塞控制的过程发现TCP的性能问题。
@ -243,17 +243,14 @@ BBR\footnote{\href{https://queue.acm.org/detail.cfm?id=3022184}{BBR: Congestion-
\label{subsec:c:wireshark:s:tcp_requirement} \label{subsec:c:wireshark:s:tcp_requirement}
\begin{enumerate} \begin{enumerate}
\item 硬件每个学生一台物理实验机8G以上内存80G以上硬盘空间)。 \item 硬件处于同一局域网的两台PC机。
\item 软件物理机装Windows7/10、VMWare或VirtualBox \item 软件Ubuntu系统(18.04版)
两台 Ubuntu18虚拟机每台2G内存、20G HD 预装wireshark、curl、vsftp、netwox、telnet、nmap和iperf3。
每台Ubuntu虚机上预装wireshark、curl、vsftp、netwox、telnet、nmap和iperf3。 \item 环境准备分别以PC1、PC2作为TCP的客户端与服务端
\item 环境准备分别以Ubuntu 1\#机、Ubuntu2\#机作为TCP的客户端与服务端 启动两台实验机后可使用ping进行连接性测试
以下简称1\#2\#设置虚机网络连接为NAT模式IPv4设置为DHCP。
启动两台实验虚机后可使用ping进行连接性测试
也可使用nmap扫一下对方打开的端口 也可使用nmap扫一下对方打开的端口
确保实验环境正常 确保实验环境正常
(指导书中服务器的IP为192.168.100.144指导书中命令若有用及此IP (指导书中PC2的IP为192.168.100.144实验中应替换为实际的IP) 。
应替换为实际观察到的IP) 。
\end{enumerate} \end{enumerate}
参考资料: 参考资料:
@ -416,19 +413,19 @@ BBR\footnote{\href{https://queue.acm.org/detail.cfm?id=3022184}{BBR: Congestion-
\begin{enumerate} \begin{enumerate}
\item TCP在不可靠的IP层上建立了可靠的端对端连接 \item TCP在不可靠的IP层上建立了可靠的端对端连接
何在不可靠的UDP上建立可靠的端对端传输系统呢 果要在不可靠的UDP上建立可靠的端对端传输系统需要考虑哪些方面
\item TCP连接建立过程中存在哪些等待队列 \item TCP连接建立过程中存在哪些等待队列
这些队列是否可能出现溢出状况高并发TCP连接应用如何调优 这些队列是否可能出现溢出状况?该如何避免
\item 本次实验观察了Linux环境下的TCP实现在Windows、MacOS环境下 \item 本次实验观察了Linux环境下的TCP实现在Windows、macOS环境下
操作系统又是如何实现TCP的呢 操作系统又是如何实现TCP的呢
类似Linux TCP参数在不同系统环境下如何查看或设置 类似Linux TCP参数在不同系统环境下如何查看或设置
请尝试通过抓包其通信过程发现其实现异同。 请尝试通过抓包其通信过程发现其实现异同。
\item TCP是封装单元为MSS可是我们在抓包过程中常发现远大于此值的TCP包
为什么TCP可以提交如此大的报文呢
此类型的包远超出链路层的MTU它是如何被处理的呢请从两端同时抓包观察比对。
\item 在TCP状态机(图\ref{fig:c:wireshark_TCP-status-machine})中, \item 在TCP状态机(图\ref{fig:c:wireshark_TCP-status-machine})中,
有些状态停留时间较长,易观察到,有些状态很短暂不易观察到。 有些状态停留时间较长,易观察到,有些状态很短暂不易观察到。
试列出不易观察到的状态,并考虑观察到它们的可能方法。 试列出不易观察到的状态,并考虑观察到它们的可能方法。
\item TCP是封装单元为MSS可是我们在抓包过程中常发现远大于此值的TCP包
为什么TCP可以提交如此大的报文呢
此类型的包远超出链路层的MTU它是如何被处理的呢请从两端同时抓包观察比对。
\begin{figure}[!ht] \begin{figure}[!ht]
\centering \centering
@ -453,7 +450,7 @@ BBR\footnote{\href{https://queue.acm.org/detail.cfm?id=3022184}{BBR: Congestion-
\texttt{iptables -F}清空当前规则; \texttt{iptables -F}清空当前规则;
同样,使用\texttt{tc qdisc del dev eth0 root RULE}清除网卡eth0队列规则。 同样,使用\texttt{tc qdisc del dev eth0 root RULE}清除网卡eth0队列规则。
使用虚拟机的快照功能是更原始、更彻底的还原方式。 使用虚拟机的快照功能是更原始、更彻底的还原方式。
\item 批量网络扫描是害网络行为,仅在实验室环境下进行试验学习, \item 批量网络扫描是害网络行为,仅在实验室环境下进行试验学习,
不得用于运营网络。 不得用于运营网络。
\end{enumerate} \end{enumerate}
@ -463,7 +460,7 @@ BBR\footnote{\href{https://queue.acm.org/detail.cfm?id=3022184}{BBR: Congestion-
完成本次实验并提交一份实验报告和一组Wireshark数据存储文件。 完成本次实验并提交一份实验报告和一组Wireshark数据存储文件。
报告内容应当包括以下部分,相关的分析解释都对应有截图证明,并与数据存储文件吻合。 报告内容应当包括以下部分,相关的分析解释都对应有截图证明,并与数据存储文件吻合。
\begin{enumerate} \begin{enumerate}
\item (20分) 正确绘制出了三次握手报文与四次挥手报文(须结合抓得报文序号) \item (20分) 正确绘制出了三次握手报文与四次挥手报文(须结合捕获的报文)
并正确标识出了各阶段TCP状态 并正确标识出了各阶段TCP状态
\item (20分) 观察传输异常现象,并进行分析; \item (20分) 观察传输异常现象,并进行分析;
\item (20分) 完成流量控制操作要求,结合上下分析报文窗口变化, \item (20分) 完成流量控制操作要求,结合上下分析报文窗口变化,

Loading…
Cancel
Save