使用wireshark抓包分析TCP三次握手
- 格式:doc
- 大小:266.50 KB
- 文档页数:15
具体抓包步骤一、首先打开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三次握手实验软件: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/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抓包分析实验完整分析实验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(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抓包分析实验一、实验原理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这个抓包软件,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抓包分析报告目录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报文分析院系:班级:学号:姓名:教师: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⾥。
针对这些包,我们可以逐⼀分析,摸清⽹络访问的全过程。
⾸先是通过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协议就开始互相发送数据包。
最后的四次挥⼿也是⼀样的,可能会存在长连接的情况,要等⼀段时间服务器才会主动断开连接,翻到最下⾯应该就能看到了。
使用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的。