Merge branch 'wireshark' into 'master'

第一单元 Wireshark更新

preface,TCP 几处小修正。

See merge request !6
tmp/2387f5b0b63e5e559086632dd5280c76/head
夏竟 4 years ago
commit c2f424b82e

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

@ -220,7 +220,7 @@ IP地址长度为4字节。每个字段的含义如下
\begin{figure}[!ht]
\centering
\includegraphics[width=16cm]{wireshark-statistic}
\includegraphics[width=12cm]{wireshark-statistic}
\caption{统计功能}
\label{fig:c:wireshark_wireshark-statistic}
\end{figure}

@ -248,7 +248,7 @@ tracert命令Linux格式和常用参数如图\ref{fig:tracert-cmd}所示
\begin{figure}[!ht]
\centering
\includegraphics[width=16cm]{wireshark-monitor}
\includegraphics[width=12cm]{wireshark-monitor}
\caption{Wireshark监视器界面}
\label{fig:c:wireshark_wireshark-monitor}
\end{figure}
@ -258,7 +258,7 @@ tracert命令Linux格式和常用参数如图\ref{fig:tracert-cmd}所示
\begin{figure}[!ht]
\centering
\includegraphics[width=16cm]{ip-view}
\includegraphics[width=12cm]{ip-view}
\caption{查看IP数据报}
\label{fig:c:wireshark_ip-view}
\end{figure}
@ -268,7 +268,7 @@ tracert命令Linux格式和常用参数如图\ref{fig:tracert-cmd}所示
\begin{figure}[!ht]
\centering
\includegraphics[width=16cm]{echo-request}
\includegraphics[width=12cm]{echo-request}
\caption{Echo request示例}
\label{fig:c:wireshark_echo-request}
\end{figure}
@ -302,7 +302,7 @@ tracert命令Linux格式和常用参数如图\ref{fig:tracert-cmd}所示
\begin{figure}[!ht]
\centering
\includegraphics[width=16cm]{wireshark-filter-setup}
\includegraphics[width=12cm]{wireshark-filter-setup}
\caption{在Wireshark中设置过滤条件}
\label{fig:c:wireshark_wireshark-filter-setup}
\end{figure}

@ -24,7 +24,7 @@ TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、
(例如尝试连接未存活的主机或未监听端口或客户端发送了第一个SYN连接请求而服务端无响应)
观察SYN洪泛影响观察分析TCP通信过程中的各类异常报文(例如数据超时、乱序)
了解其触发机制与含义。
\item 流量控制(进阶)运行一组TCP连接客户端/服务器程序(Python代码见附录)
\item 流量控制(进阶)运行一组TCP连接客户端/服务器程序(Python代码见节后附件)
制造收发不平衡场景,观察收发报文中通告窗口的变化,分析与窗口机制相关的类型报文,
了解滑动窗口工作原理。
\item 拥塞控制(进阶):改变带宽、时延、丢包率等网络参数,观察大文件传输过程,
@ -41,10 +41,8 @@ TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、
TCP协议基于“尽力而为”的网络层为应用层提供可靠的进程间通信服务
具体地说是可靠的全双工的端对端字节流传输服务。
在TCP的协议传输单元中(TCP报文段TCP Segment)
发送方和接收方使用字节序号(Sequence Number)明确收发的数据,并精确到字节单位;
收发双方以字节为单位使用序列号(Sequence Number)明确收发的数据,
使用ACK反馈(Acknowledgment)机制,实现端对端的可靠传输控制。
接下来简要介绍TCP报文段的结构
TCP的连接管理、差错控制、流量控制和拥塞控制的原理。
\paragraph{TCP报文段(Segment)}~{}
\\
@ -85,25 +83,25 @@ TCP 报文段结构如图\ref{fig:c:wireshark_TCP-structure}所示,
\begin{enumerate}
\item \textbf{源端口号(Source Port)}16位的源端口
与源IP地址一起标识发送该TCP 报文段的通信进程。端口号范围0\~65535。
与源IP地址一起标识发送该TCP报文段的通信进程。端口号范围0-65535。
\item \textbf{目的端口号(Destionation Port)}16位目的端口
与目的IP地址一起标识接收该TCP 报文段的通信进程。端口号范围0\~65535。
\item \textbf{序号(Sequence Number)}该TCP 报文段中第一个数据字节的序号占4个字节。在TCP连接建立时通常生成一个随机数作为字节序列号的初始值ISN
与目的IP地址一起标识接收该TCP报文段的通信进程。
\item \textbf{序号(Sequence Number)}该TCP报文段中第一个数据字节的序号占4个字节。在TCP连接建立时通常生成一个随机数作为字节序列号的初始值(ISN)
\item \textbf{确认号(Acknowledgement Number)}
表示期望收到对方下一个报文段的字节序号占4个字节。
\item \textbf{标志位(TCP Flags)}
\begin{enumerate}
\item 确认ACK(Acknowledgement)置1表示确认号字段有效。
\item 推送PSH(Push)置1表示该报文段优先级高
接收方 TCP 尽快推送给接收应用程序。
接收方TCP应尽快推送给接收应用程序。
\item 复位RST(Reset)置1表示需要释放TCP连接并重新建立连接。
一般称携带 RST 标志的 TCP 报文段为「复位报文段」
一般称带RST标志的TCP报文段为“复位报文段”
\item 同步SYN(Synchronization)置1表示这是TCP请求连接报文段。
一般称 SYN 标志的 TCP 报文段为“同步报文段”。
一般称带SYN标志的TCP报文段为“同步报文段”。
\item 终止FIN(Finish)置l表示发送方的数据已经发送完毕
并要求释放TCP连接。
\end{enumerate}
\item \textbf{窗口大小(Window)}表示接收缓存大小,即暂时缓存接收的数据
\item \textbf{窗口大小(Window)}表示接收缓存大小。
最早TCP协议首部只设置了16位的窗口大小允许的最大缓存大小不超过64KB
而RFC1323打破此限定设置了TCP窗口缩放因子(Window size scaling factor)
使窗口大小等于二者的乘积。
@ -222,8 +220,8 @@ BBR\footnote{\href{https://queue.acm.org/detail.cfm?id=3022184}{BBR: Congestion-
\subsubsection{实验方法和手段}
使用VMWare软件配置两台本地虚拟机本地相互连接(如图\ref{fig:c:wireshark_TCP-topo})。
在VMWare中的虚拟机设置->网络适配器->高级中虚拟机的网卡传入/传出带宽、
传输速率、时延等,用来仿真不同的网络条件(如图\ref{fig:c:wireshark_VM-advance-setup}
通过“虚拟机设置->硬件->网络适配器->高级”(如图\ref{fig:c:wireshark_VM-advance-setup}
设置虚拟机的网卡传入/传出带宽、数据包丢失率、延迟等,仿真不同的网络条件
本实验需要使用的命令和工具,如表\ref{tab:c:wireshark_tools-command}所列。
常用的Linux操作系统命令还包括echo、cat、sysctl、ping、ftp。
@ -370,7 +368,7 @@ BBR\footnote{\href{https://queue.acm.org/detail.cfm?id=3022184}{BBR: Congestion-
\texttt{tc qdisc add dev ens33 root netem delay 70ms 10ms 30\% duplicate 1\% reorder 5\% 10\% corrupt 0.1\%}
(将此行命令的add改为change即修改、del即删除此行规则)。
(将此行命令的add改为change/del即修改/删除此规则)。
\item 下载服务器上的大文件:\texttt{wget 192.168.100.144/100M.file}
\end{enumerate}

Loading…
Cancel
Save