想要抓包的时候发现不会抓包,学习了一下http://www.higlab.com/的抓包技术,挺有意思的。写点笔记

2.1二层Ethernet、LAN交换故障分析

Ethernet发现广播及错误风暴

1.广播及错误风暴是通信网络中最难解决的故障之一2.导致此类故障的原因有很多,比如二层环路、针对二层的攻击、网卡故障、某台主机上的某个服务持续不断向网络中发包等3.二层丢包现象,势必会导致TCP(四层协议)重传4.广播风暴是指在网络中传播的广播包的数量每秒高达数千乃至数万5.一般而言,广播风暴发生之日,便是网络瘫痪之时6.广播包数量过多和广播风暴完全是两码事7.网络中广播包的数量达到多少才算是过多呢?(1-2个/台/分钟)    --正常情况下,每台计算机每分钟1-2个广播包广播风暴由某台设备主机所引起,通常具备以下典型特征:1.广播包速率极高(数千甚至上万个/秒)  --可以通过IO Graphs查看2.在绝大多数情况下,都源自于一个源IP,但遭受攻击除外3.广播包速率恒定,即Wireshark所抓取广播数据帧之间的时间间隔几乎完全相等
总结:1、在Ethernet中,第三层IP广播包在传播之前会被先封装为第二层MAC地址全为1的以太网帧2、IP网络中常见的广播包①配合TCP/IP协议运行的广播包:比如,ARP请求,DHCP请求②某些应用层协议生成的广播包:比如NetBIOS查询和通告包、NTP包等③某些应用程序:比如Dropbox、MNLB、或者证券期货类应用等

STP故障排除简介

1.生成树协议分成三个版本:STP(802.1D)、RSTP(802.1W)、MST(802.1S)2.解决生成树问题,先要确定网络中运行的是哪种STP版本3.再去确认故障显现的同时,发生过网络拓扑变更事件吗?拓扑变更在情理之中,但若发生的次数太多,则会对网络性能产生影响。所有生成树的BPDU数据包目标MAC地址为多播地址:01:80:c2:00:00:00源MAC地址是交换机的MAC地址STP(版本号0)  0x801d此交换机的1/13端口发出了BPUD   根桥ID和网桥ID一致且Cost为0,说明此交换机就是根交换机RSTP(版本号2)MST(版本号3) 拓扑变更的BPDU  0x8001  0/1接口发出的

VLAN问题分析

FCS校验失败的数据帧能不能被Wireshark抓到?

抓不到,编辑–>首选项 ipv4的这个勾被去掉了

2.2三层协议故障分析

与ARP有关的连通性故障分析

①ARP的作用是什么?在哪些情况下用到ARP?
②ARP解析的全过程是什么?
③ARP的数据包格式是什么?request 0reply   1
④什么是免费ARP?ARP扫描(ARP sweep)①ARP扫描:是指某台主机以发出各种ARP数据包的方式,来扫描整个网络,意在窃取信息或发动攻击②当面临扫描时应该关注三个问题:①ARP数据包的源MAC地址是什么?若请求数据包源于多个不同的MAC地址,则属于正常情况若请求数据包属于同一个MAC,则要查出到底MAC是谁若查不出单一MAC到底是谁,则网络正面临蠕虫或ARP中毒攻击②是ARP请求还是ARP应答数据包若是莫名其妙的ARP应答数据包现身于网络,则也可能面临中间人攻击③ARP数据包的数量级?每台IP设备每分钟生成1-2个ARP数据包纯属合理若网络100台设备,每分钟生成200-300或每秒3-4个ARP是合理的就算每秒钟5-10ARP,也不是问题,但需要仔细查找原因
ARP扩展思考题两台主机在同一个LAN,但各自的IP属于不同的子网,网关都指向各自的IP地址,请问,两台主机可以互相ping通吗      能不配网关,能不能通          不通

IP故障分析

Wireshark软件会借用主机所配置的DNS服务器,来执行IP地址和域名之间的转换。某些情况下,把某些数据包的源目IP地址转换为名称来显示,能有助于发现规律性的异常流量。
wiresharkIP地址解析成域名①视图-->解析名称②统计-->端点    下载GeoIP的免费版GeoLite      https://dev.maxmind.com/zh-hans/geoip/legacy/geolite/编辑首选项抓取分片数据包:1.主机打开CMD2.ping 172.16.88.102 -l 50003.打开Wireshark抓取数据包数据包是如何分片的①同一个包ID相同②偏移大小(offset)③是否有更多的分片(more fragment)如何判断是否是IP报文分片导致连接异常缓慢①首先确保无其他网络层面的问题②用Wireshark抓取数据包流量,确认是否有IP分片,③当你怀疑是分片导致的问题,可以让DBA工程在服务器端调整参数,让数据不经过分片传送至网络④一般情况,在以太网IP数据包净载包含TCP包头,不应该超过1480字节,因此封装在TCP报文段后的不应该超过1460字节⑤某些时候,如果启用隧道技术,需要考虑增加的包头,控制数据在穿越网络的时候不发生分片。接收方靠什么重组分片的?IP数据包头,会有专门用来数据重组的相应字段flags,比如off、ID、MF等。TCP是如何避免被发送方分片的TCP可以避免被发送方分片,因此TCP会在三次握手的时候,协商最大的MSS,然后主动把数据分成小段在交给网络层。所以网络层不需要分片。但是UDP就没有MSS的概念,一股脑交给网络层,可能被网络层分片IP数据包分片的概念:最大传输单元(MTU):是指由IP包头和数据部分组成的IP数据包长度最大报文段大小(MSS):是指TCP报文段内数据净载的最大长度,即上层协议交付给TCP的每个数据单元的最大长度用IPSec-VPN传输需要增加新的报头

DHCP故障分析 (以下都是广播包)

1.DHCP Discover:广播的形式发送,UDP格式,源端口68、目标端口67
2.DHCP Offer:表明愿意提供IP地址的租用
3.DHCP Request:客户端请求DHCP服务器配置与本机有关的IP地址
4.DHCP ACK:其中包含服务器给客户端的IP地址、子网掩码、网关、DNS等IP配置信息网络不通下:只有DHCP Discover包:DHCP挂了或者网路有问题4个包都有:说明IP地址有,可能是一个非法的DHCP发的IP地址0个包:网卡没开手动配IP地址能访问网络,不能自动获取地址:

ARP在什么时候发出广播解析(PC主机)

1.解析的目标IP和自己的网卡在同一网段(无所谓是否配网关)
2.只要配置网关(无所谓对错),PC都可以发出ARP请求广播(8.8.8.8目标)

ARP在什么时候发出广播解析(路由器模拟PC主机)

1.关闭路由器的路由功能①不配置网关,也可以发出ARP请求广播②配置网关,发起的ARP请求广播将是请求网关的ARP(不会请求8.8.8.8目标)
2.不关闭路由器的路由功能①所有的转发完全按照路由表进行路由转发

2.3TCP、UDP故障分析

TCP连接故障排错思路

1.安装服务器端和客户端的软件是否都运行正常
2.检查网络是否连接正常,IP地址的正确检查
3.Ping测试(思考:Ping通代表应用能互访吗?)
4.启动Wireshark开始抓包分析,查看是否出现异常①客户端主机连发三次SYN位置1的TCP报文,服务器未做任何回应(应用程序自身问题)②客户端主机发出了SYN位置1的TCP报文,收到了RST位置1的TCP的确认报文(中间防火墙过滤流量)
故障现象:用户在内网主机10.1.1.1的浏览器内输入视频监控服务器,去监控远程站点,可以看到登录界面,但却无法登录进系统。
可能原因:1.验证数据包时TCP其他端口号(6036)2.中间流量放行问题3.NAT问题4.。。。。。。。超时重传        关窗口,开窗口(慢启动)
快速重传        3个以上的重复ACK,触发

TCP报文段失序问题

–没有故障问题,只是Wireshark感知并生成的相关提示信息

Wireshark中报文失序的现象是什么1.Pervious segment lost2.Out-of-order packet3.Pervious segment not captured
导致TCP报文失序的原因是什么1.Wireshark打开抓包时机不对,没抓全数据包,这属于Wireshark自己的原因2.真的存在丢包情况①延迟和抖动:不同路径的时候,由于不同的延迟,可能出现先发后至②几个抓包问题:流量速率超出150M/S(需要商业抓包工具)、负责抓包的机器CPU内存不足,作镜像的交换机是瓶颈、用无线网卡抓包可能也会出现抓不全的现象TCP Dup ACK            重复ACK,通过它来确认发生的快速重传
TCP Retransmission  超时重传,最不愿看到的,因为对窗口大小消耗很大

TCP Zero Window: 零窗口

TCP Zero Window可能的原因是什么1.问题一般都在数据接收方2.接收方主机配置太低3.接收方应用没有足够的缓存
TCP Zero Window的过程1.接收方发出窗口字段为0的报文2.发送方会发出TCP Zero Window Probe报文段,探测接收方窗口大小是否仍为03.发送方会在特定的计时器内,向接收方发送2的数据包,直到探测出接收方的窗口不再是0为止4.如果在收到窗口字段值为0的TCP报文段之后,发送方仍然不管不顾,继续发送数据出去,这一举动被称为TCP Zero Windown Violation,Wireshark感知到这种行为,一般都表示相关应用程序的TCP实现方式存在瑕疵

TCP Window Update 告诉对方增大窗口
TCP Window Full: 发送方告诉接收方,这是最后一个TCP报文段

Wireshark的提示总结

[Packet size limited during capture] 包没有抓全,一般由抓包方式引起的(例如:只抓前100字节)
[TCP Previous segment not captured]     中间有丢包
[TCP Dup ACK]           重复确认
[TCP Out-of-Order]      乱序
[TCP Zero Window]       零窗口
[TCP Window Full]       full窗口
[TCP segment of a ressembled PDU]       可以把拆散的数据包关联起来
[Continuation to #]
[Time-to-live exceeded]             ttl超时
[TCP ACKed unseen segment]          抓包时间不正确,ack确认抓到,数据没抓到

TCP的效率真的低吗?(不管什么,来回7个包syn fin的包)

网络对它的性能影响很大

2.4DNS故障分析

几个经常用到的DNS显示过滤器的实例(一):

1.dns.flags.response0(DNS查询消息)
2.dns.flags.response1(DNS响应消息)
3.Dns.flags.rcode0(显示RCODE字段值为0(Noerror)的DNS应答消息)
4.Dns.flags.rcode3(显示RCODE字段值为3(NXDomain,表示域名不存在)的DNS应答消息)
5.Dns.qry.name==“URL Name”(显示query section中的query name字段值匹配指定URL的DNS数据包)
6.Dns.qry.name contains “URL Name”(显示query section中的query name字段值包含指定URL的DNS数据包)

几个经常用到的DNS显示过滤器的实例(二):

1.dns.flags.opcode0(只显示DNS常规查询消息,以及相应的DNS响应消息)
2.dns.flags.opcode1(只显示DNS逆向查询消息,以及相应的DNS响应消息)
3.dns.flags.opcode2(只显示DNS服务器状态请求查询消息,以及相应的DNS服务器状态响应消息)
4.dns.flags.opcode5(只显示DNS动态更新查询消息,以及相应的DNS动态更新响应消息)
6.dns.flags.recdesired1(RD标记位置1的DNS查询消息一般为主机发出,目的是要求接受该消息的DNS服务器执行递归查询)
7.dns.flags.recdesired0(只显示RD标记位置0的DNS递归反复查询及响应消息)

DNS故障分析

DNS故障分类1.无法解析域名          --ping测试网关和外网排错2.解析缓慢
无法解析域名的原因1.有待访问的Web站点不存在抓包特点:1.ID字段相同,意味着一问一答的DNS,例如都是0xee262.一问一答存在延时,说明在递归查找3.看DNS回复报文段RCODE字段值为3,表示域名不存在4.也可以使用内置主机操作系统的nslookup工具,来尝试解析有带访问的web站点的域名2.DNS服务器不做回应抓包特点:  1.抓到了refused字样的DNS应答消息,这表示查询请求遭到了DNS服务器的拒绝2.抓到多条DNS查询消息,但却未抓到一条配套的DNS应答消息,这表示DNS服务器因某种原因没有回应查询请求
DNS解析缓慢的排错思路1.先通过前面介绍的方法排除是否是TCP的相关问题造成的2.如果不是,需要排除是否是DNS问题导致上网过慢3.最简单的方法是,在数据包列表内,选出一个隶属于DNS的数据流,点击右键,点击FollowUDP Stream,观察Time列,获取相关DNS域名解析时间4.另一种方法是,借助IO Graphs工具5.正常DNS解析在100ms以内,超过200ms就会感觉很卡

2.5HTTPS和HTTP故障分析

HTTP协议主要特点

1.支持客户端服务器模式
2.简单快速:超文本协议
3.灵活:允许任意类型的数据对象
4.无连接:限制每次连接只处理一个请求,收到ACK断开连接
5.无状态:HTTP服务器不保存客户机的任何信息

HTTP几种请求方法

1.OPTION:HTTP客户端可使用该方法让web服务器告知其所支持的功能
2.GET:HTTP客户端可使用该方法请求web服务器发送某个资源
3.HEAD:与GET方法类似。HTTP客户端可在不获取实际资源的情况下,让web服务器发送资源的概况信息
4.POST:HTTP客户端可利用该方法向web服务器传送数据
5.DELETE:借助于该方法,HTTP客户端可请求web服务器删除由URL指定的资源
6.PUT:HTTP客户端利用该方法向web服务器写入数据。一般要通过用户名和密码认证
7.TRACE:当HTTP客户端发起HTTP请求时,HTTP请求报文可能会穿越防火墙。代理服务器或网关等设备,这些设备可能会修改原始的HTTP请求数据包中的内容,借助TRACE方法,HTTP客户端就能让web服务器弹回一条TRACE响应报文,其中会携带后者实际收到的HTTP请求报文。HTTP客户端可借此了解原始HTTP请求报文是否被损坏或修改过
8.CONNECT:用来连接代理设备

HTTP 5类状态码:

类别       名称              含义
1XX         信息状态码           用来表示一般性信息
2XX         成功状态码           用来表示由HTTP客户端所请求执行的动作已被web服务器成功接收、接受或处理
3XX         重定向状态码      用来告知HTTP客户端使用其他位置来访问其所感兴趣的资源
4XX         客户端错误状态码    用来表示HTTP客户端错误
5XX         服务器错误状态码    用来表示HTTP错误

几个经常用到的HTTP显示过滤器的实例(一)

1.http.host =="www.baidu.com"    (只显示访问某指定域名的HTTP请求数据包)
2.http.host contains "baidu"  (只显示访问包含了指定字符串的域名的HTTP的请求数据包)
3.http.referrer=="www.baidu.com"    (只显示从此链接过来的所有HTTP请求数据包)
4.http.request.method==GET (只显示包含GET请求的所有HTTP数据包)
5.http.request  (显示所有HTTP请求数据包)
6.http.response (显示所有HTTP响应数据包)

网页打开过慢的排错步骤

1.确保Internet链路没有负载过大,排除没有通讯链路的问题
2.判断是否与TCP性能问题有关
3.判断是否归因于DNS故障
4.经过一番排查之后,发现与上述问题无关,请将目标对准HTTP协议
5.设法查明web站点传回的HTTP信息状态码

HTTP缺点

1.大多数网站会让客户端与多台服务器建立并发的TCP连接,这个方案不太完美,因为每个新建的TCP连接会处于慢启动状态中,传输效率也低,而过了慢启动阶段,速度终于变快了,数据却已经传完了
2.还可以用Pipelining技术优化,可惜不支持代理服务器
3.google推出的SPDY协议,在HTTP和TCP之间加了一层,从而支持多路复用等功能,目前几乎主流浏览器都支持SPDY,国外的主流网站也支持
4.HTTP2.0即将到来(还是基于TCP的,还是有改进的空间,比如TCP的三次握手和慢启动的负面影响任然存在
5.google开发的一种还没有流行起来的QUIC协议,可以完全跑在UDP上,可以完全消除网页应用的延迟)

Wireshark从入门到精通(进阶篇)相关推荐

  1. 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)

    1.简介 在性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力,直至达到某个值,然后持续运行一段时间,然后继续加压达到某个值持续运行,如此循环直到达到预期的峰值,运行一 ...

  2. 视频教程-2019版抓包分析-Wireshark从入门到精通【进阶篇】-其他

    2019版抓包分析-Wireshark从入门到精通[进阶篇] G-LAB IT实验室创始人.知名讲师.同时拿到路由交换.网络安全.数据中心3个方向的CCIE专家级别认证.教学风趣幽默,广受学员好评 郭 ...

  3. 《Autosar从入门到精通-实战篇》总目录_培训教程持续更新中...

    目录 一.Autosar入门篇: 1.1 DBC专题(共9篇) 1.2 ARXML专题(共35篇) 1.2.1 CAN Matrix Arxml(共28篇) 1.2.2 ASWC Arxml(共7篇) ...

  4. Linux开发从入门到精通——基础篇 :1、计算机常识、Linux操作系统和文件系统介绍

    Linux开发从入门到精通--基础篇 :1.计算机常识.Linux操作系统和文件系统介绍

  5. Flink从入门到精通100篇(二十一)-万字长文详解 Flink 中的 CopyOnWriteStateTable

    前言 现如今想阅读 HashMap 源码实际上比较简单,因为网上一大堆博客去分析 HashMap 和 ConcurrentHashMap.本文详细分析 CopyOnWriteStateTable 源码 ...

  6. Spring Boot 教学 学习 讲义笔记 【入门到精通一篇就够了】(上)

    目录 初识Spring Boot Spring boot 入门 系统要求 Maven配置文件 HelloWorld项目 创建maven工程 引入依赖 创建主程序 编写业务 运行&测试 设置配置 ...

  7. wireshark从入门到精通(协议排错安全篇)3

        统计-IO图表  是不是类似服务器的一些流量分析,他就是来分析数据流量吞吐的一个直观表,我们可以鼠标拖动和滚轮放大,通过他明显对比出我们服务器发包是否受阻等情况.      分析--专家信息  ...

  8. wireshark捕获不到东西_好书分享——Wireshark从入门到精通

    什么是Wireshark Wireshark 是网络包分析工具.网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况. 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上 ...

  9. Java从入门到精通——数据库篇Mongo DB 导出,导入,备份

    一.概述    本篇博客为大家讲述一下Mongo DB是如何导入导出数据,还有就是备份数据的.    在下面操作的时候需要把Mongo DB的服务端打开才能操作. 二.导出.    MongoDB的导 ...

  10. JMETER性能测试从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)

    1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...

最新文章

  1. 利用单片机快速实现家庭智能控制平台
  2. python代码规范链接
  3. mybaits二十六:mybatis,spring整合
  4. 使用swipemenulistview实现列表的左右滑动
  5. Happy Matt Friends(HDU5119 + dp)
  6. 【转】.net异步性能测试(包括ASP.NET MVC WebAPI异步方法)
  7. Nginx限制连接数和下载速度
  8. CMake快速入门01:CMake简介与安装
  9. Facebook的秘密服务器,竟藏着互联网的军事根源?
  10. 安装WampServer时出现的问题(丢失VCRUNTIME140.dll或MSVCR110.dll)以及解决办法
  11. 10个受欢迎的英文名
  12. android无线投屏到电视盒子,【沙发管家】教你如何把电脑视频投屏到智能电视/电视盒子上!...
  13. 解读《美国国家BIM标准》– BIM能力成熟度模型(十一)
  14. LabVIEW基于Kvaser USBcan的UDS烧录Hex文件
  15. 基于SSM(Spring+SpringMVC+MyBatis)的外卖点餐管理系统
  16. 安卓GB28181跨网段语音对讲
  17. 【组图】世界著名城市夜景
  18. 全国计算机等级考试信息安全三级笔记
  19. win10笔记本:掉帧卡顿、开机后卡顿、玩游戏帧数低、GPU占用率上不去,解决办法
  20. 年度盘点 || 2019年十大营销事件

热门文章

  1. 光线cms,如何增加像百度一样的智能提示
  2. Linux_29_Linux-Vsftpd
  3. swiper——自动轮播
  4. 计算机语言安装不上,安装程序包的语言不受系统支持该怎么办?解决方法教程...
  5. git创建分支,以及提交到远程创库
  6. java locale 中国_Java描述语言、国家和地理的类——Locale
  7. android仿微信录制短视频并播放视频
  8. 为什么CAN总线支线长度不能太长?
  9. pycharm打开长代码文件CPU占用率过高问题
  10. 12306模拟登陆-超级鹰