Wireshark抓包介绍和TCP三次握手分析

wireshark介绍

 

wireshark的官方下载网站: http://www.wireshark.org/

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。

使用wireshark的人必须了解网络协议,否则就看不懂wireshark。

 

Wireshark不能做的

 

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

 

wireshark 开始抓包

 

下面是开始界面

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡,一般选择有数据传输的那个。

点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮,开始抓包。

 

Wireshark 窗口介绍

 

 

WireShark 主要分为这几个界面

1. Display Filter(显示过滤器),  用于过滤

2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

3. Packet Details Pane(封包详细信息), 显示封包中的字段

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

 

Wireshark 显示过滤

 

使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器有两种,

一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录

一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置

 

过滤表达式的规则

 

表达式规则

 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的。

4. Http模式过滤

http.request.method=="GET",   只显示HTTP GET方法的。

5. 逻辑运算符为 AND/ OR

常用的过滤表达式

过滤表达式

用途

http

只查看HTTP协议的记录

ip.src ==192.168.1.102 or ip.dst==192.168.1.102

 源地址或者目标地址是192.168.1.102

 

 

 

 

 

 

 

 

 

 

封包列表(Packet List Pane)

 

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。

你也可以修改这些显示颜色的规则,  View ->Coloring Rules.

 

封包详细信息 (Packet Details Pane)

 

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为

Frame:   物理层的数据帧概况

Ethernet II: 数据链路层以太网帧头部信息

Internet Protocol Version 4: 互联网层IP包头部信息

Transmission Control Protocol:  传输层T的数据段头部信息,此处是TCP

Hypertext Transfer Protocol:  应用层的信息,此处是HTTP协议

 

wireshark与对应的OSI七层模型

 

 

TCP包的具体内容

 

从下图可以看到wireshark捕获到的TCP包中的每个字段。

 

 

实例分析TCP三次握手过程

 

看到这里, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例:

 

 三次握手过程为

 

这次我们用wireshark实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入 http://blog.csdn.net/xifeijian

在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",

这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图:

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

 

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

 

就这样通过TCP三次握手,建立了连接。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络编程知识预备(4) ——了解应用层的HTTP协议与HTTPS协议

参考:简单了解HTTP协议与HTTPS协议 作者:丶PURSUING 发布时间: 2021-03-15 10:55:13 网址:https://blog.csdn.net/weixin_44742824/article/details/114807328?spm1001.2014.3001.5502 编程实现人脸识别需要基于人工智能平台&…

Django之orm查询

ORM相关 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不…

智能家居 (2) ——设计模式的引入

目录设计模式的概念引入工厂模式的实现animal.hmainPro.ccat.cdog.cperson.c工厂模式的功能验证往期文章设计模式的概念引入 工厂模式的实现 所有代码最好在Source Insight下编写&#xff0c;并将所有代码进行关联&#xff0c;方便读写。 animal.h #include <stdio.h>s…

卷积核和全连接层的区别_「动手学计算机视觉」第十六讲:卷积神经网络之AlexNet...

前言前文详细介绍了卷积神经网络的开山之作LeNet&#xff0c;虽然近几年卷积神经网络非常热门&#xff0c;但是在LeNet出现后的十几年里&#xff0c;在目标识别领域卷积神经网络一直被传统目标识别算法(特征提取分类器)所压制&#xff0c;直到2012年AlexNet(ImageNet Classific…

vnc配置备忘录

因为我开发板上要用到Qt&#xff0c;所以我在服务器上安装了Qt的开发环境&#xff0c;为了能远程连接到服务器我安装了VNC&#xff0c; 中间也是遇到了很多问题&#xff0c;比如连接上去后&#xff0c;只显示一个控制台的窗口&#xff0c;只能使用命令行。后来几经周折才搞定先…

网络编程知识预备(5) ——libcurl库安装及其编程访问百度首页

本文为学习笔记&#xff0c;整合课程内容以及下列文章&#xff1a; 其中&#xff0c;libcurl函数库常用字段解读部分&#xff1a; 参考博文&#xff1a;原文地址 作者&#xff1a;冬冬他哥哥 目录Libcurl库简介Libcurl等三方库的通用编译方法三方库使用前通读方法库的配置、编…

智能家居 (9) ——人脸识别摄像头安装实现监控功能

目录摄像头模块安装安装mjpg-streamer库开启监控功能往期文章摄像头模块安装 注意&#xff1a;安装要下电安装&#xff0c;不能带电&#xff01;连接其他硬件模块的时候也是。 安装mjpg-streamer库 树莓派利用pi Camera模块&#xff0c;通过mjpg-streamer软件获取视频&#xf…

设备树和pinctrl粗解

上次文章中 我以DS18b20为例&#xff0c;在设备树中定义了ds18b20的资源&#xff08;device&#xff09;&#xff0c;当时是依葫芦画瓢&#xff0c;没有深入探究&#xff0c;本文主要探讨下pin在设备树中的描述 参考文章&#xff1a;Linux内核中的GPIO系统之&#xff08;3&…

八大排序算法(C语言实现)

摘自&#xff1a;八大排序算法&#xff08;C语言实现&#xff09; 作者&#xff1a;2021dragon 发布时间&#xff1a; 2021-05-16 10:46:37 网址&#xff1a;https://blog.csdn.net/chenlong_cxy/article/details/116563972 目录 直接插入排序希尔排序选择排序堆排序冒泡排序快…

codeforces 1060 A

https://codeforces.com/contest/1060/problem/A 题意&#xff1a;电话号码是以8开头的11位数&#xff0c;给你n 个数问最多可以有多少个电话号码 题解&#xff1a;min&#xff08;8的个数&#xff0c;n/11&#xff09; 代码如下&#xff1a; #include <map> #include &l…

嵌入式linux 自动获取IP 及 自动校时

最近要调用百度人脸识别API做个东西&#xff0c;发现百度API在桌面端QT程序跑的贼溜&#xff0c;可以到了嵌入式板子上发现就post没了返回信息。 一、嵌入式端udhcpc自动获取IP 1.在开发板建立文件夹#mkdir /usr/share/udhcpc/ -p 2.先拷贝busybox 源码目录下的 busybox-1.27…

树莓派外设开发之控制继电器(组)

目录控制继电器控制继电器组控制继电器 选择7号引脚作为继电器信号输出控制端。 代码&#xff1a; #include <wiringPi.h> #include <stdio.h> #define SWITCHER 7 // 7为树莓派物理引脚编码和wiringPi编码。在树莓派功能名为GPIO.7int main() {int cmd;if( wiri…

[BZOJ2725/Violet 6]故乡的梦

Description Input Output Sample Input 6 7 1 2 1 2 3 1 3 4 2 4 5 1 5 6 1 1 3 3 4 6 3 1 6 4 1 2 1 3 4 3 6 5 Sample Output 7 6 Infinity 7 HINT 其实这题和[TJOI2012]桥基本差不多&#xff0c;如果不是最短路径上的边&#xff0c;那直接输出最短路即可。否则就按照[TJOI2…

智能家居 (3) ——智能家居工厂模式介绍实现继电器控制灯

目录智能家居工厂模式整体设计框架继电器控制灯代码contrlEquipments.h 文件&#xff08;设备类&#xff09;mainPro.c 文件&#xff08;主函数&#xff09;bathroomLight.c 文件&#xff08;浴室灯&#xff09;secondfloorLight.c 文件&#xff08;二楼灯&#xff09;livingro…

读《系统虚拟化-原理与实现》-第二章

x86构架及操作系统概述 x86内存构架 地址空间和地址 物理地址空间&#xff1a;内存和其他硬件资源组合到一起&#xff0c;分布在CPU的物理地址空间内&#xff0c;CPU使用物理地址索引这些资源 线性地址空间&#xff1a;一个平台只有一个物理地址空间&#xff0c;但每个程序都…

智能家居 (4) ——工厂模式火焰报警

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

智能家居 (5) —— LD3320语音模块二次开发

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

linux命令整理

1. mkdir ##创建目录 命令 【参数】 路径文件 参数&#xff1a; mkdir -p ##递归创建 mkdir -v ##显示创建目录的过程 示例&#xff1a; [rootXM ~]# mkdir /data [rootXM ~]# mkdir -pv test/{1..3}/{4..6} ##同时创建多个目录及子目录 mkdir: created di…

eclipse搭建SSH框架详解

2019独角兽企业重金招聘Python工程师标准>>> SSH框架是最常用的框架之一&#xff0c;在搭建SSH框架的时候总有人遇到这样&#xff0c;那样的问题。下面我介绍一下SSH框架搭建的全过程。 第一步&#xff1a;准备工作。 下载好eclipse,Struts2,Spring,Hibernate。…

龙芯派启用串口3-5

硬件平台&#xff1a;龙芯派二代 内核版本&#xff1a;linux-3.10 这几天在龙芯派上加了一个无线串口&#xff0c;决定采用串口3来连接串口&#xff0c;在龙芯派上执行 #ls /dev/ttyS* 发现只有ttyS0&#xff0c;查看设备树后发现其他串口的设备树节点都是有的&#xff0c…