使用wireshark抓包分析TCP三次握手
具体抓包步骤与分析方法
具体抓包步骤一、首先打开wireshark进入主界面二、点选Capture Options 快捷键Ctrl+K 进入捕捉过滤器界面三、设置捕捉过滤器抓包方式为Capture packets in pcap-ng format混乱抓包,(Capture Filter具体过滤命令见wireshark详解,)四、点选Start开始进行抓包具体捕捉过滤设置如下:Wireshark抓包开始运行后,我们就可以打开我们需要抓包分析的应用了(在这之前,如果对端口号和IP不熟悉的用户,可以先打开路由web管理界面的内网监控看一下正在运行的连接,并记录下来)五、ikuai路由内网监控连接状态介绍如图所示,在系统状态下的内网流量监控里的某个IP下的终端连接详情里,我们可以看到某个IP下这台机器目前正在运行的一些网络连接的详细信息。
在这里我们着重讲下连接状态的定义1、已连接正在连接的数据流2、等待等待转发或连接的数据流3、-- 或无状态无交互性连接,例如UDP连接4、未定义未经路由向外网进行转发或者传输的数据连接。
例如内网数据通信六、具体针对某个软件进行抓包分析的步骤与过程1.具体步骤完成了上述操作后,我们运行需要抓包分析的软件(我们已迅雷为例)之后我们需要再次查看终端连接详情在这时我们可以看到,相对于运行迅雷以前的终端连接详情里,我们这里多出了一些链接,这些链接就是我们需要在wireshark里需要过滤分析的迅雷的数据连接了。
在这个例子里我们可以看到,在协议名称里,迅雷的协议已经成功识别,但是,在我们真实操作中,需要抓包分析的绝大多数软件的协议,在这里会被识别为:未知协议或错误为其他一些应用的协议,比如明明开启的是迅雷下载,但是协议里被识别为某个游戏,在这时,我们就需要根据抓包前记录的终端连接详情对比运行软件之后的进行对比,出现未知协议或错误协议名称的进程是否属于我们需要分析的软件进程。
(在这里我们建议对协议的端口号或IP不熟悉的用户,在抓包分析师,关闭所有需要网络连接的程序,已便于判断)如果确定是我们需要抓包的软件的进程的话,我们就可以在wireshark进行过滤分析了。
TCP三次握手分析
分析TCP三次握手实验目的:了解TCP三次握手实验软件:Wireshark实验线路:自家ADSL第一步:请求方(192.168.1.100)向服务方(61.172.203.210)发送SYN,表示想发起一次TCP连接。
我们假定这次的序列号是某个数值X ,初始的ack号为0Trust ->TargetSYNSEQ:XACK:0第二步:服务方产生SYN,ACK响应,并向请求方发送ACK, ACK的值为X+1,表示数据成功接收到,且告知下一次希望接收到字节的SEQ是X+1。
同时,服务方向请求方发送自己的SEQ,我们假定它的序列号是某个数值Y。
Target -> TrustSYN,ACKSEQ:YACK:X+1第三步:请求方向服务方发送ACK,表示接收到服务方的回应。
这次它的SEQ值为X+1,同时它的ACK值为Y+1,原理同上。
Trust ->TargetACKSEQ:X+1ACK:Y+1注意:因为一个SYN 将占用一个序号,所以要加1.完成这一步以后,请求方与服务方之间的连接开放,数据可以进行传输了。
分析TCP报头结构实验目的:分析TCP报头数据段组件,了解TCP报头结构实验软件:Wireshark实验线路:自家ADSLTCP协议头最少20个字节,包括以下的区域TCP源端口(Source Port):16位的源端口其中包含初始化通信的端口。
源端口和源IP 地址的作用是标示报问的返回地址。
TCP目的端口(Destination port):16位的目的端口域定义传输的目的。
这个端口指明报文接收计算机上的应用程序地址接口。
TCP序列号(序列码,Sequence Number):32位TCP应答号(Acknowledgment Number):32位的序列号由接收端计算机使用,重组分段的报文成最初形式。
,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码。
数据偏移量(HLEN):4位包括TCP头大小,指示何处数据开始。
tcp握手的过程及抓包分析原理详细版
TCP 握手的过程及抓包分析原理TCP 连接建立在TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。
服务器必须准备好接受外来的连接。
这通过调用socket 、 bind 和listen 函数来完成,称为被动打开(passive open)。
第一次握手:客户端通过调用connect 进行主动打开(active open)。
这引起客户TCP 发送一个SYN (表示同步)分节(SYN=J ),它告诉服务器客户将在连接中发送到数据的初始序列号。
并进入SYN_SEND 状态,等待服务器的确认。
第二次握手:服务器必须确认客户的SYN ,同时自己也得发送一个SYN 分节,它含有服务器将在同一连接中发送的数据的初始序列号。
服务器以单个字节向客户发送SYN 和对客户SYN 的ACK (表示确认),此时服务器进入SYN_RECV 状态。
第三次握手:客户收到服务器的SYN+ACK 。
向服务器发送确认分节,此分节发送完毕,客户服务器进入ESTABLISHED 状态,完成三次握手。
图1:TCP 握手建立连接客户端的初始序列号为J ,而服务器的初始序列号为K 。
在ACK 里的确认号为发送这个ACK 的一端所期待的下一个序列号。
因为SYN 只占一个字节的序列号空间,所以每一个SYN 的ACK 中的确认号都是相应的初始序列号加1.类似地,每一个FIN (表示结束)的ACK 中的确认号为FIN 的序列号加1.客户connet (阻塞connet 返回socket,bind,listen (被动打开) accept (阻塞) accdept 返回read (阻塞)。
电子科大网络安全实验2Wireshark抓包分析实验完整分析
电⼦科⼤⽹络安全实验2Wireshark抓包分析实验完整分析实验2 Wireshark抓包分析实验⼀、实验原理TCP三次握⼿准则介绍TCP是因特⽹中的传输层协议,使⽤三次握⼿协议建⽴连接。
当主动⽅发出SYN连接请求后,等待对⽅回答SYN,ACK。
这种建⽴连接的⽅法可以防⽌产⽣错误的连接,TCP使⽤的流量控制协议是可变⼤⼩的滑动窗⼝协议。
第⼀次握⼿:建⽴连接时,客户端发送SYN包(SEQ=x)到服务器,并进⼊SYN_SEND状态,等待服务器确认。
第⼆次握⼿:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时⾃⼰也送⼀个SYN包(SEQ=y),即SYN+ACK包,此时服务器进⼊SYN_RECV状态。
第三次握⼿:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进⼊Established状态,完成三次握⼿。
HTTP协议介绍HTTP协议⽤于在Internet上发送和接收消息。
HTTP协议是⼀种请求-应答式的协议 ——客户端发送⼀个请求,服务器返回该请求的应答,所有的请求与应答都是HTTP包。
HTTP协议使⽤可靠的TCP 连接,默认端⼝是80。
HTTP的第⼀个版本是HTTP/0.9,后来发展到了HTTP/1.0,现在最新的版本是HTTP/1.1。
HTTP/1.1由RFC 2616 定义。
⼆、实验⽬的1、了解并会初步使⽤Wireshark,能在所⽤电脑上进⾏抓包。
2、了解IP数据包格式,能应⽤该软件分析数据包格式。
3、了解HTTP请求中的三次握⼿准则,并能利⽤该软件对该过程进⾏简要分析。
三、实验内容(1)安装wireshark软件,并使⽤该软件捕获HTTP请求中的报⽂,分析该过程中TCP建⽴连接的握⼿过程以及报头各字段的含义,记录实验结果和数据。
(2)尝试利⽤wireshark软件捕获Ping请求中的报⽂,并分析报⽂中各字段的含义,记录实验结果和数据。
简要描述tcp协议的3次握手过程
简要描述tcp协议的3次握手过程
TCP协议的3次握手过程
TCP(Transmission Control Protocol)是一种面向连接的可靠传输
协议,它保证数据的可靠传输。
在使用TCP协议进行通信时,需要进
行3次握手过程以建立连接,详细描述如下:
第一次握手:客户端发送SYN报文
客户端向服务器发送一个SYN(Synchronize Sequence Number)
报文,其中SYN标志位被设置为1。
该报文中包含一个随机的序列号seq=x。
第二次握手:服务器回复ACK+SYN报文
服务器接收到客户端发送的SYN报文后,需要回复一个ACK (Acknowledgement)和SYN标志位都被设置为1的报文。
在该报文中,确认号ack=x+1,并且服务器也会生成一个随机序列号seq=y。
第三次握手:客户端回复ACK报文
最后一步是客户端回复一个ACK确认包给服务器。
该包中ack=y+1,并且seq=x+1。
建立连接后,双方就可以开始进行数据传输了。
注意事项:
1. 三次握手过程是为了确保双方都能够正确地收发数据。
如果只有两
次握手,则可能存在重复或者丢失数据的情况。
2. 在三次握手过程中,每个阶段都需要等待对方确认才能进入下一阶段。
如果某个阶段超时,则需要重新发送对应的报文。
3. 在三次握手过程中,每个报文中都包含了序列号和确认号。
这些信
息用于确保数据的可靠传输。
4. TCP协议是一种面向连接的协议,因此在通信结束后,需要进行四
次挥手过程以关闭连接。
电子科大网络安全实验2 Wireshark抓包分析实验完整分析
实验2 Wireshark抓包分析实验一、实验原理TCP三次握手准则介绍TCP是因特网中的传输层协议,使用三次握手协议建立连接。
当主动方发出SYN连接请求后,等待对方回答SYN,ACK。
这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。
第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进入Established状态,完成三次握手。
HTTP协议介绍HTTP协议用于在Internet上发送和接收消息。
HTTP协议是一种请求-应答式的协议 ——客户端发送一个请求,服务器返回该请求的应答,所有的请求与应答都是HTTP包。
HTTP协议使用可靠的TCP连接,默认端口是80。
HTTP的第一个版本是HTTP/0.9,后来发展到了HTTP/1.0,现在最新的版本是HTTP/1.1。
HTTP/1.1由RFC 2616 定义。
二、实验目的1、了解并会初步使用Wireshark,能在所用电脑上进行抓包。
2、了解IP数据包格式,能应用该软件分析数据包格式。
3、了解HTTP请求中的三次握手准则,并能利用该软件对该过程进行简要分析。
三、实验内容(1)安装wireshark软件,并使用该软件捕获HTTP请求中的报文,分析该过程中TCP建立连接的握手过程以及报头各字段的含义,记录实验结果和数据。
(2)尝试利用wireshark软件捕获Ping请求中的报文,并分析报文中各字段的含义,记录实验结果和数据。
四、实验步骤1、打开wireshark,点击“start”开始抓包,并打开浏览器输入①分析TCP协议建立的三次握手过程,并进行报文分析;②使用Wireshark软件分析HTTP报文内容:2、利用wireshark软件捕获Ping请求中的报文,并分析报文中各字段的含义,记录实验结果和数据。
Wireshark抓包分析TCP协议
Wireshark抓包分析TCP协议之前一直听别人说Wireshark这个抓包软件,Leelom也跟我提过说面试的时候会问这些东西。
今天呢,参考别人的博文,结合抓包,将TCP/IP协议进行一些浅显的分析。
1. HTTP协议基本特征更加具体的说明需要重新写一篇博客来看。
参考基础认知TCP(Transmission Control Protocol,传输控制协议)是面向连接的、可靠的、基于字节流的在传输层上的通信协议。
这里想一下UDP,是无连接的、不可靠的(所以就像之前提到的一样,无连接的快节省时间,不用连接建立的时间)。
TCP/IP の 4层模型数据包封装情况TCP/IP分层结构跟OSI(Open System Interconnection)分7层不同。
如上面的图中,TCP/IP 协议下分为4层:应用层、传输层、网络层、数据链路层。
•应用层:向用户提供常用的应用程序。
比如电子邮件、文件传输、远程登录等。
TELNET 会话提供了基于字符的虚拟终端,FTP使用 FTP协议来提供网络内机器间的文件拷贝功能。
•传输层:传输层提供两台主机之间端到端的通信。
所谓的TCP/UDP协议就是跑在这一层。
•网络层:处理分组在网络中的活动。
可以理解为IP路由这些。
•链路层:链路层负责处理下层物理层的物理接口细节。
主要目的有: \ 1. 为上层IP模块接收和发送IP数据报 \ 2. 为ARP模块发送请求和完成接收 \ 3.为RARP模块。
层级功能图封装封装这个事情就好像寄快递一样。
之前上计网课那个张洪涛就是这么举例子的。
报文封装注意上图中的 appl 首部是说 application 层首部的意思。
按照上图一层层封装,直到经过以太网封装之后,就要通过网线或者其他的传输介质将此封装好的报文发送到另一端去。
另一端收到之后再一层层的把封装头剥离,最终拿到用户数据。
这里我们要明白一点就是上层对下层不负责,下层对上层隐身。
TCP/IP这里可以做这样的一个理解,就是TCP/IP协议是说二者协同一起工作。
wireshark抓包分析TCP和UDP
计算机网络Wireshark抓包分析报告目录1. 使用wireshark获取完整的UDP报文 (3)2. 使用wireshark抓取TCP报文 (3)2.1 建立TCP连接的三次握手 (3)2.1.1 TCP请求报文的抓取 (4)2.1.2 TCP连接允许报文的抓取 (5)2.1.3 客户机确认连接报文的抓取 (6)2.2 使用TCP连接传送数据 (6)2.3 关闭TCP连接 (7)3. 实验心得及总结 (8)1. 使用wireshark获取完整的UDP报文打开wireshark,设置监听网卡后,使用google chrome 浏览器访问我腾讯微博的首页/welcomeback.php?lv=1#!/list/qqfriends/5/?pgv_ref=im.perinfo.pe rinfo.icon?ptlang=2052&pgv_ref=im.perinfo.perinfo.icon,抓得的UDP报文如图1所示。
图1 UDP报文分析以上的报文内容,UDP作为一种面向无连接服务的运输协议,其报文格式相当简单。
第一行中,Source port:64318是源端口号。
第二行中,Destination port:53是目的端口号。
第三行中,Length:34表示UDP报文段的长度为34字节。
第四行中,Checksum之后的数表示检验和。
这里0x表示计算机中16进制数的开始符,其后的4f0e表示16进制表示的检验和,把它们换成二进制表示为:0100 1111 0000 1110.从wireshark的抓包数据看出,我抓到的UDP协议多数被应用层的DNS协议应用。
当一台主机中的DNS应用程序想要进行一次查询时,它构成了一个DNS 查询报文并将其交给UDP。
UDP无须执行任何实体握手过程,主机端的UDP为此报文添加首部字段,并将其发出。
2. 使用wireshark抓取TCP报文2.1 建立TCP连接的三次握手建立TCP连接需要经历三次握手,以保证数据的可靠传输,同样访问我的腾讯微博主页,使用wireshark抓取的TCP报文,可以得到如图2所示的客户机和服务器的三次握手的过程。
基于wireshark的TCP和UDP报文分析
《计算机网络基础》课程报告基于Wireshark的TCP和UDP报文分析院系:班级:学号:姓名:教师:2012年11月4日目录一 TCP连接时的三次握手 (3)二 TCP连接释放时的四次握手 (5)三 UDP报文分析 (7)3.1 UDP报文结构 (7)3.2 UDP检验和的计算 (7)四结束语 (9)一、TCP连接时的三次握手TCP 协议为终端设备提供了面向连接的、可靠的网络服务。
TCP在交换数据报文段之前要在发送方和接收方之间建立连接。
客户是连接的发起者,服务器是被动打开和客户进行联系。
具体的过程如下所述。
第一次握手:客户发送 SYN=1,seq=0的TCP报文给服务器Ps:客户的TCP向服务器发出连接请求报文段,其首部中的同步位SYN = 1。
序号 seq = 0,表明报文中未携带数据。
报文如下:源端口号:56644(56644)目的端口号:http(80)[Stream index: 0]Sequence number: 0 (relative sequence number)Header length: 32 bytesFlags: 0x02 (SYN)000. .... .... = Reserved: Not set...0 .... .... = Nonce: Not set.... 0... .... = Congestion Window Reduced (CWR): Not set.... .0.. .... = ECN-Echo: Not set.... ..0. .... = Urgent: Not set.... ...0 .... = Acknowledgement: Not set.... .... 0... = Push: Not set.... .... .0.. = Reset: Not set.... .... ..1. = Syn: Set.... .... ...0 = Fin: Not setWindow size: 8192Checksum: 0x1030 [validation disabled]Options: (12 bytes)第二次握手:服务器发送SYN=1,ACK=1,seq=0的TCP报文给客户Ps:服务器的TCP收到客户发来的连接请求报文段后,如同意,则发回确认。
访问网页全过程,用wireshark抓包分析
访问⽹页全过程,⽤wireshark抓包分析⽤wireshark抓包查看访问⽹站过程打开wireshark,打开⼀个⽆痕浏览器,输⼊⽹址,到⽹页呈现这⼀过程,⽹络数据包传递的消息都会被放在wireshark⾥。
针对这些包,我们可以逐⼀分析,摸清⽹络访问的全过程。
⾸先是通过DNS获取⽹站的ip地址:在抓到的包⾥⾯逐⼀排查,会请求⽹站的第⼀次出现的数据包是DNS包。
如图82号包(访问百度为例)。
选择82号包后,会出现下⾯的内容,分别是每层⾥⾯的内容和头部的字节码。
这个数据包的73个字节⾥包含:数据链路层报⽂头(数据链路层),ip层头(⽹络层),udp头(传输层),dns头(应⽤层)。
数据链路层的主要信息有mac地址2个(源地址和⽬的地址),主要是你电脑的mac地址,他会发到路由器的mac地址去,然后再由路由器进⾏转发。
⽹络层层有ip4,ip地址,⽬的ip地址等信息。
传输层主要负责了端⼝的管理。
我们具体看⼀下Dns 的回应包,包含从dns server发到我们电脑,具体的内容⾥⾯把query重复⼀遍,然后answer应答了我们请求的⽹站对应的IP地址,于是我们就知道了访问⽹站的ip地址。
接着我们过滤⼀下IP地址,下⼀个包就是TCP开始三次握⼿的包了。
打开看下⾯各层的信息数据链路层依然是发给路由器:⽹络层是发给百度的ip,传输层把端⼝对应了起来具体看tcp层:第⼀个请求包内容:百度回应的包:第三次确认包也是类似:到这就完成了三次握⼿,就可以开始通信了。
http协议就开始互相发送数据包。
最后的四次挥⼿也是⼀样的,可能会存在长连接的情况,要等⼀段时间服务器才会主动断开连接,翻到最下⾯应该就能看到了。
三次握手实验步骤
三次握⼿实验步骤1.开始→运⾏→CMD,在弹出的命令⾏窗⼝中输⼊ping ***,***代表要抓包的⽹址,如,此时会将⽹址转换为IP地址,如百度的IP地址为:39.156.66.18。
2.打开软件Wireshark,点击“Capture”→“Start”,开始抓包。
3.打开浏览器,输⼊刚才ping的那个⽹址,即要抓包的⽹址,如,等⼀段时间,待数据传输完成后,关闭该⽹页,回到Wireshark,再等⼀段时间,点击“Capture”→“Stop”,停⽌抓包。
4.设置过滤器,筛选所抓到的包。
由于在打算建⽴TCP连接时,客户端向服务器发出连接请求报⽂段,此时⾸部中的同步位SYN=1,所以只需找SYN=1的数据包即可。
点击右上⾓的“Filter”→“Expression”→“TCP”→“tcp.flags.syn == 1”→“Apply”,此时过滤完成。
5.找到Destination⼀栏即⽬的⽹址的IP地址为39.156.66.18的那⾏数据,单击选中该⾏数据,点击“Clear”,清除过滤器,此时数据包按抓到的先后顺序排列,往后找,⼀直找到剩下的两次握⼿为⽌。
三次握⼿的标志分别为:SYN=1、SYN=1,ACK=1、ACK=1。
⼀定要注意找到的三次握⼿属于同⼀临时端⼝号。
三次握⼿结果如下:6.寻找四次挥⼿。
记住三次握⼿中的临时端⼝号,即上图中的63237,设置过滤器,点击右上⾓的“Filter”→“Expression”→“TCP”→“tcp.flags.fin == 1”→“Apply”,此时过滤完成。
在过滤完成后,找到端⼝号为第⼀个63237的帧,点击“Clear”,如下图:四次挥⼿结果如下:。
TCP报文格式和三次握手——三次握手三个tcp包(header+data),此外,TCP报。。。
TCP报⽂格式和三次握⼿——三次握⼿三个tcp包(header+data),此外,TCP报。
TCP报⽂是TCP层传输的数据单元,也叫报⽂段。
1、端⼝号:⽤来标识同⼀台计算机的不同的应⽤进程。
1)源端⼝:源端⼝和IP地址的作⽤是标识报⽂的返回地址。
2)⽬的端⼝:端⼝指明接收⽅计算机上的应⽤程序接⼝。
TCP报头中的源端⼝号和⽬的端⼝号同IP数据报中的源IP与⽬的IP唯⼀确定⼀条TCP连接。
2、序号和确认号:是TCP可靠传输的关键部分。
序号是本报⽂段发送的数据组的第⼀个字节的序号。
在TCP传送的流中,每⼀个字节⼀个序号。
e.g.⼀个报⽂段的序号为300,此报⽂段数据部分共有100字节,则下⼀个报⽂段的序号为400。
所以序号确保了TCP传输的有序性。
确认号,即ACK,指明下⼀个期待收到的字节序号,表明该序号之前的所有数据已经正确⽆误的收到。
确认号只有当ACK标志为1时才有效。
⽐如建⽴连接时,SYN报⽂的ACK标志位为0。
3、数据偏移/⾸部长度:4bits。
由于⾸部可能含有可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位⾸部长度字段所能表⽰的最⼤值为1111,转化为10进制为15,15*32/8 = 60,故报头最⼤长度为60字节。
⾸部长度也叫数据偏移,是因为⾸部长度实际上指⽰了数据区在报⽂段中的起始偏移值。
4、保留:为将来定义新的⽤途保留,现在⼀般置0。
5、控制位:URG ACK PSH RST SYN FIN,共6个,每⼀个标志位表⽰⼀个控制功能。
1)URG:紧急指针标志,为1时表⽰紧急指针有效,为0则忽略紧急指针。
2)ACK:确认序号标志,为1时表⽰确认号有效,为0表⽰报⽂中不含确认信息,忽略确认号字段。
3)PSH:push标志,为1表⽰是带有push标志的数据,指⽰接收⽅在接收到该报⽂段以后,应尽快将这个报⽂段交给应⽤程序,⽽不是在缓冲区排队。
4)RST:重置连接标志,⽤于重置由于主机崩溃或其他原因⽽出现错误的连接。
Wireshark数据抓包分析之传输层协议(TCP协议)
Wireshark数据抓包分析之传输层协议(TCP协议)实验步骤⼀根据实验环境,本实验的步骤如下:1.在测试环境使⽤发包⼯具和Wireshark抓取TCP三次握⼿和四次断开的数据包。
2.详细分析TCP协议的三次握⼿以及四次断开。
任务描述:安装发包⼯具,并配置TCP客户端,服务端,与Wireshark配合使⽤此⼯具与分析UDP协议时相同,实验室环境中已经安装,在此再重复⼀遍,我们使⽤" TCP&UDP测试⼯具"来制作和发送TCP数据包。
双击测试者机器桌⾯的" TCP&UDP测试⼯具",会出现下图显⽰页⾯:下⾯我们需要配置TCP的服务端以及客户端。
1.配置服务器端选择10.1.1.33的机器,双击桌⾯的" TCP&UDP测试⼯具",右键点击服务器模式,在下拉列表中,选择创建服务器,如下图:选择"创建服务器"之后,会弹出服务器端⼝设置,本次使⽤默认⼯具给的6000端⼝即可,点击"确定"按钮。
点击"确定"按钮之后,在左侧的服务器模式列表中,会出现创建的列表,选择我们创建的服务器,右键点击,选择"启动服务器",即完成了服务器端的配置2.配置客户端选择10.1.1.142的机器,双击桌⾯的" TCP&UDP测试⼯具",右键点击客户端模式,在下拉列表中,选择"创建连接",如下图:在弹出的窗⼝中,选择TCP协议,服务器IP为10.1.1.33.端⼝6000,本机随意IP,如下图点击创建后,如下图,3.获取TCP数据包获取的TCP协议的数据包。
分为两部分,即TCP三次握⼿,四次断开的数据。
但在实际的操作中,可能遇到的情况较多,⽐如源IP和⽬的IP⽐较多,协议的帧号乱序等各种问题。
在此,我们教⼤家简单的过滤功能,着⾊功能⽅便过滤和查看。
网络抓包与ping测试[教学]
一、实验目的:1、通过wireshark进行TCP报文抓包,分析TCP连接的三次握手以及关闭TCP2、利用wireshark分析ICMP报文3、利用ping测试网络联通性:1)ping 本机回环地址2)ping本机ip地址3)ping 网关ip4)ping 远程ip通过这几项可以检查网络是不是通的,以及如果不通,网络的问题出在哪熟悉ping的参数的使用;4、traceroute测试,同理(3)二、实验原理1、TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV 状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
还要再发送一次确认是为了,防止已失效的连接请求报文段突然又传到了B,因而产生错误。
已失效的报文段:正常情况下:A发出连接请求,但因为丢失了,故而不能收到B的确认。
于是A重新发出请求,然后收到确认,建立连接,数据传输完毕后,释放连接,A发了2个,一个丢掉,一个到达,没有“已失效的报文段”但是,某种情况下,A的第一个在某个节点滞留了,延误到达,本来这是一个早已失效的报文段,但是在A发送第二个,并且得到B的回应,建立了连接以后,这个报文段竟然到达了,于是B就认为,A又发送了一个新的请求,于是发送确认报文段,同意建立连接,假若没有三次的握手,那么这个连接就建立起来了(有一个请求和一个回应),此时,A收到B的确认,但A知道自己并没有发送建立连接的请求,因为不会理睬B的这个确认,于是呢,A也不会发送任何数据,而B呢却以为新的连接建立了起来,一直等待A发送数据给自己,此时B 的资源就被白白浪费了。
实验4-捕获并分析TCP数据包和TCP三次握手及四次挥手过程
实验四捕获并分析TCP数据包和TCP三次握手和四次挥手过程一、实验目的通过网络嗅探器软件对网络数据进行监听和分析,加深对计算机网络中各层协议数据单元PDU的形象理解。
二、实验内容1、利用网络嗅探器软件(例如Iris、Sniffer、Ethereal、 wireshark等),获取TCP数据包,记录并分析各字段的含义。
2、打开一个网站,截取TCP数据包(至少三个),分析TCP三次握手建立连接和四次挥手释放连接的过程。
三、实验步骤1、安装数据包捕获软件wireshark。
2、启动捕获软件。
(1)开始捕获数据报:(2)打开一个网站,例:(3)对捕获的TCP数据包进行分析,并保存(4)对捕获的TCP三次握手建立连接的几个数据包进行分析,分别说明各数据包代表的意义和所属的三次握手的第几次。
四、实验分析1、设置显示过滤,只显示源地址是本机的http数据包,说明如何进行设置?答:若要设置只显示源地址是本机的http数据包,需使用以下ip.src==本机IP && http 2、点开软件捕获界面中包详细信息栏的TCP数据包:若想查看TCP数据包的内容,需点击前面的加号,则显示TCP报文段各字段的结构如下图所示:对照课本P202页:TCP报文段的结构图,如下图示:分析并记录说明,所捕获的数据包的在运输层TCP报文段中各字段的具体信息:①源端口号:49896。
每一个应用进程在运输层都对应一个端口号。
端口是运输层与应用层的服务接口。
运输层的复用和分用功能都要通过端口才能实现。
②目的端口号:80。
说明发送方请求的是一个web服务(http).③序号:0。
为了对发送的报文段进行可靠传输,对每个发送的报文段的第一个字节都进行编号,称为序号。
例如:一个报文段的序号值为301,携带的数据长度100字节;则下一个报文段的序号为401.④确认号:0。
为了告诉发送方,到目前为止,接收方按顺序接收的报文段达到多少,将下一个期望接收的报文段的第一个字节的编号作为确认号发给发送方。
TCPIP三次握手的过程和抓包分析原理
数据内容 含义
TCP 使用类似的握手过程来结束连接。这可确保两个主机均能完成传输并确保所有的数据均得以接收
TCP Client Flags TCP Server
1 Send SYN (seq=x) ----SYN---> SYN Received
2 SYN/ACK Received ACK Received, Connection Established
现在,我们来看一个完整的流程,在一个TCP socket上系统调用connect究竟是如何建立起一个到对端的连接的。我们还是以实验环境172.16.48.2向172.16.48.1的端口5002发起连接请求为例。
第一步,172.16.48.2向172.16.48.1发起连接请求,发送一个SYN段,指明目的端口5002,通告自己的初始序号(ISN,由协议栈 随机产生的一个32位数),设置确认序号为0(因为还没有收到过对端的数据),通告自己的滑动窗口大小为5840(对端是5792,这似乎有问题,有待进 一步细查),窗口扩大因子为2(在首部选项中),通告最大报文段长度为1460(本地局域网),下面是数据内容(已剥去链路层的以太网首部和网络层的IP 首部):
98 8e 40 92 确认序号(对端ISN+1)
8 首部长度(8*4=32,有12字节的选项)
0 10 标志,ACK=1
TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:
TCP三次握手抓包及过程分析
三次握手的原理与抓包情况1.1 三次握手的定义所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。
三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换TCP 窗口大小信息.在socket编程中,客户端执行connect()时。
将触发三次握手。
图 1 抓包情况图2 TCP 三次握手示意图1.2 三次握手的具体过程1.2.1 客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号X,保存在包头的序列号(Sequence Number)字段里。
如图3所示图3 第一次握手情况1.2.2第二次握手:服务器发回确认包(ACK)应答。
即SYN标志位和ACK标志位均为1同时,将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即X+1,图4所示。
图4 第二次握手情况1.2.3 第三次握手:客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1。
如图5所示图5 第三次握手情况思考点:2.1 为什么要进行三次握手三次握手的最主要目的是保证连接是双工的,可靠更多的是通过重传机制来保证的。
但是为什么一定要进行三次握手来保证连接是双工的呢,一次不行么?两次不行么?我们举一个现实生活中两个人进行语言沟通的例子来模拟三次握手。
第一次对话:老婆让甲出去打酱油,半路碰到一个朋友乙,甲问了一句:哥们你吃饭了么?结果乙带着耳机听歌呢,根本没听到,没反应。
甲心里想:跟你说话也没个音,不跟你说了,沟通失败。
说明乙接受不到甲传过来的信息的情况下沟通肯定是失败的。
如果乙听到了甲说的话,那么第一次对话成功,接下来进行第二次对话。
第二次对话:乙听到了甲说的话,但是他是老外,中文不好,不知道甲说的啥意思也不知道怎样回答,于是随便回答了一句学过的中文:我去厕所了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用wireshark抓包分析TCP三次握手wireshark是非常流行的网络封包分析软件,功能十分强大。
可以截取各种网络封包,显示网络封包的详细信息。
使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。
为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。
wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark.Wireshark(网络嗅探抓包工具) v1.4.9 中文版(包含中文手册+主界面的操作菜单) 评分: 4.6类别: 远程监控大小:22M 语言: 中文查看详细信息 >>下载 1690 次wireshark 开始抓包开始界面wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
loan management (post) review: 1, approval criteria have been implemented; 2, the contract is correct; 3, in line with the contract, payment; 4, no other major cases against loan security;、Reviewed by: date of record form 9: qilu bank borrowing by single years of maximum amount a maximum no-loan borrowers: borrowers: ... Borrower name number, line of credit expiry date year month day to year month day maximum number of years in the loan contract are the top line opened, the borrowed and requested your bank opened credit lines above, is hereby requested. Borrower signature: date agreed to open credit lines. Customer Manager signature: date agreed to open credit lines. Loanreview signature: date line cancellation-I did not use the loan amount, your bank credit lines to be cancelled. -Credit loan principal repayment, your bank credit lines to be cancelled. Borrower signature: date-unused credit lines, agree to write off loans. -Credit loan principal repayment,agree to write off loans. Customer Manager signature: date case, agree to write off loans. Loan review signature: date of record form 16: qilu self credit for credit card cancellation application form name of borrower ID number and credit limit expiration date year month day to year month day year contract number self-service card-I do not use credit, your bank credit lines to be cancelled. -Credit loan principal repayment, your bank credit lines to be cancelled. Borrower signature: date-unused credit lines, agree to write off loans. -Credit loan principal repayment, agree to write off loans. Customer Manager signature:点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。
然后点击"Start"按钮, 开始抓包Wireshark 窗口介绍WireShark 主要分为这几个界面1. Display Filter(显示过滤器),用于过滤2. Packet List Pane(封包列表),显示捕获到的封包,有源地址和目标地址,端口号。
颜色不同,代表3. Packet Details Pane(封包详细信息), 显示封包中的字段4. Dissector Pane(16进制数据)5. Miscellanous(地址栏,杂项)Wireshark 显示过滤loan management (post) review: 1, approval criteria have been implemented; 2, the contract is correct; 3, in line with the contract, payment; 4, no other major cases against loan security;、Reviewed by: date of record form 9: qilu bank borrowing by single years of maximum amount a maximum no-loan borrowers: borrowers: ... Borrower name number, line of credit expiry date year month day to year month day maximum number of years in the loan contract are the top line opened, the borrowed and requested your bank opened credit lines above, is hereby requested. Borrower signature: date agreed to open credit lines. Customer Manager signature: date agreed to open credit lines. Loanreview signature: date line cancellation-I did not use the loan amount, your bank credit lines to be cancelled. -Credit loan principal repayment, your bank credit lines to be cancelled. Borrower signature: date-unused credit lines, agree to write off loans. -Credit loan principal repayment, agree to write off loans. Customer Manager signature: date case, agreeto write off loans. Loan review signature: date of record form 16: qiluself credit for credit card cancellation application form name of borrower ID number and credit limit expiration date year month day to year month day year contract number self-service card-I do not use credit, your bank credit lines to be cancelled. -Credit loan principal repayment, your bank credit lines to be cancelled. Borrower signature: date-unused credit lines, agree to write off loans. -Credit loan principal repayment, agree to write off loans. Customer Manager signature:使用过滤是非常重要的,初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。
搞得晕头转向。
过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
过滤器有两种,一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。
在Capture -> CaptureFilters 中设置保存过滤在Filter栏上,填好Filter的表达式后,点击Save按钮,取个名字。
比如"Filter 102",Filter栏上就多了个"Filter 102" 的按钮。
过滤表达式的规则表达式规则1. 协议过滤比如TCP,只显示TCP协议。
2. IP 过滤比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,ip.dst==192.168.1.102, 目标地址为192.168.1.102 3. 端口过滤tcp.port ==80, 端口为80的tcp.srcport == 80, 只显示TCP协议的愿端口为80的。