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,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不…

qq显示下线通知什么意思_最近时不时地收到QQ下线的通知

话说,姐妹们,你们两口子之间,有没有秘密的啊?换句话说,你们之间的所有密码,是否都共享的呢?其实吧,我们两个人之间,倒是没有什么秘密的,我们两个人的密码都是…

thttpd移植

1.官网下载http://www.acme.com/software/thttpd/ 版本thttpd-2.25b.tar.gz 2.解压 tar -zxvf thttpd-2.25b.tar.gz ./configure 4.修改makefile CC arm-none-linux-gnueabi-gcc 总共有3个makefile要改 压缩根目录包1个,cgi-src目录1个,extras目录1个 5.make 6. 拷…

有关HL7 的C# 源码

<?xml version"1.0" encoding"UTF-8"?> https://github.com/OSEHRA/mdo C# http://sourceforge.net/p/nhapi/code/HEAD/tree/NHapi20/ C#转载于:https://blog.51cto.com/muzizongheng/1333001

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

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

Pandas CookBook -- 04选取数据子集

选取数据子集 简书大神SeanCheney的译作&#xff0c;我作了些格式调整和文章目录结构的变化&#xff0c;更适合自己阅读&#xff0c;以后翻阅是更加方便自己查找吧 import pandas as pd import numpy as np 设定最大列数和最大行数 pd.set_option(max_columns,5 , max_rows, 5)…

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

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

vnc配置备忘录

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

编程挑战:字符串的完美度

题目详情我们要给每个字母配一个1-26之间的整数&#xff0c;具体怎么分配由你决定&#xff0c;但不同字母的完美度不同&#xff0c; 而一个字符串的完美度等于它里面所有字母的完美度之和&#xff0c;且不在乎字母大小写&#xff0c;也就是说字母F和f的完美度是一样的。 现在给…

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

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

JSP(Servlet)中从连接池获取连接

1) 建立连接。 2) 执行SQL。 3) 处理结果。 4) 释放资源。 Connection pool&#xff1a;连接池 DataSource&#xff1a; LDAP ( Light directory access protocal )轻量级目录访问协议。 JNDI ( java naming director interface ) Java 命名目录接口。 使用连接池&#xff1a; …

文件系统模拟程序python_如何使用sh实现Python虚拟文件系统

我已经建立了一个模拟操作系统的Python脚本。它有一个命令提示符和一个虚拟文件系统。我使用shelve模块来模拟文件系统&#xff0c;它是多维的&#xff0c;以便支持目录的层次结构。但是&#xff0c;我在执行“cd”命令时遇到问题。我不知道如何进出目录&#xff0c;即使我有一…

udhcpd配置及使用

udhcpd配置及使用 1. 修改/etc/udhcpd.conf 修改 interface ra0 #default: eth0 为对应网卡 解决error, Unable to open /var/lib/misc/udhcpd.leases for reading&#xff0c; 在板子上执行以下命令&#xff1a; # mkdir -p /var/lib/misc/ # touch /var/lib/misc/udhcp…

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

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

清理localstorage_vue 界面刷新数据被清除 localStorage的使用详解

localStorage是html5新增的一个本地存储API,它有5M的大小空间,通过(key,value)的方式存储在浏览器中window.localStorage.setItem(key, value); //储存文件window.localStorage.getItem(key); //读取文件window.localStorage.removeItem(key); //清除文件vue中使用方法&#xf…

洛谷p2234/BZOJ1588 [HNOI2002]营业额统计

题目链接&#xff1a;洛谷BZOJ 分析&#xff1a; 好像没有什么好说的就是一个平衡树的板子……唯一要注意的就是这里要找的并不是严格的前驱和后继&#xff0c;因为如果找到之前某一天的营业额和它相等那么差就是0&#xff0c;所以我们仍然在结构体中开一个域cnt来存储同一个元…

WSDL中文版——详解

为什么使用WSDL? 像Internet协议之类的标准有没有为权威所利用&#xff0c;或者人们这样看待它是因为顺之所获的好处远远超出了代价&#xff1f;曾经有许多试图建立的标准都流产了。有时候&#xff0c;那些还没有普遍使用的标准甚至由法令或政府规定强行推出&#xff1a;Ada语…

设备树和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 目录 直接插入排序希尔排序选择排序堆排序冒泡排序快…