流量分析学习(wireshark)

在wireshark中,数据包:帧 包 段

数据帧的起始和目的点都是链路层

数据包则是网络层

段则为传输层

接下来是wireshark的界面 

第一个frame起是物理层,数据帧 第二数据链路层,以太网帧的头部信息,第三是网络层IP包的头部信息,第四传输层数据段的头部信息,第五是应用层的信息

红框处第一第二是目标的MAC地址和源MAC地址,前三个如94 de 80,代表了厂家名称,软件给自动识别出来名字了。

筛选的用法

上面的写法就是筛选ip=180.97.34.134以及端口为80的流量。and ! or的逻辑运算符,在这里是可以用的。大于小于这种符号也可用

往返时间:一个数据包从发出到确认接收所需要的时间

wireshark的协议解析功能

wireshark有一个协议解析器,可以将网络上原始的二进制数据包进行拆分,变成相关协议的不同区段。

如果有新的协议,我们也要确保WK里有相关的解析器才行,有时候WK解析也会出错,这时我们需要更改WK解析协议的方式

错误解析例子:FTP协议的数据包走了443端口,让WK误以为是https的SSL协议。

从数据包的大小获得信息

以太网上帧的大小为1518个字节,除去IP等头部信息还有1460个字节,剩下的可供应用层协议使用。

小的数据包用于保存协议的控制序列,大的用于数据传输

Tshark——wireshark的命令行版本

Tshark可以使用AWK(将文件逐行读入,以空格为默认分隔符将每行分片,切开的部分再做分析处理, JREP(字符串查找)来辅助分析,而且生成的文本可以直接写入报告中,以上是部分人认为Tshark好用过wireShark的原因。

但是一般要在linux环境下才能用,上图就是在kali上用TSHARK,grep-e后跟的是要查找的字符,之前要填上Tshark的路径。 

性能调优

主要是对概数信息,服务响应时间以及对专家信息的整合

如上图找到相应协议的包

Tshark 命令参数详解 (360doc.com),这里附上Tshark的相关命令留待之后学习

网络相关协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
————————————————
版权声明:本文为CSDN博主「孤风落影」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ever_peng/article/details/80008638

ARP请求与响应

 如图所示,当主机A想与主机B交换数据时,需要知道主机B的IP以及MAC,然后去检查自己的ARP缓存表(默认存在120S),如果只知道IP不知道MAC就会广播ARP请求(包含了自己的IP和MAC以及主机B的IP),其他主机BCD都会去检查自己的IP与A广播的是否一致,如果不一致他们会丢弃这个请求,主机B则会响应。

免费ARP

免费 ARP(Gratuitous ARP)包是一种特殊的 ARP 请求,它并非期待得到 IP 对应的 MAC 地址,而是当主机启动的时候,发送一个 Gratuitous ARP 请求,即请求自己的 IP 地址的 MAC 地址。

免费 ARP 包的结构

免费 ARP 报文与普通 ARP 请求报文的区别在于报文中的目标 IP 地址。普通 ARP 报文中的目标 IP 地址是其他主机的 IP 地址;而免费 ARP 的请求报文中,目标 IP 地址是自己的 IP 地址。

免费 ARP 的作用

免费 ARP 数据包有以下 3 个作用:

  • 该类型报文起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其他计算机自己的 IP 地址和 MAC 地址。
  • 可用于检测 IP 地址冲突。当一台主机发送了免费 ARP 请求报文后,如果收到了 ARP 响应报文,则说明网络内已经存在使用该 IP 地址的主机。
  • 可用于更新其他主机的 ARP 缓存表。如果该主机更换了网卡,而其他主机的 ARP 缓存表仍然保留着原来的 MAC 地址。这时,可以发送免费的 ARP 数据包。其他主机收到该数据包后,将更新 ARP 缓存表,将原来的 MAC 地址替换为新的 MAC 地址。

IP协议——存活时间与IP分片

存活时间time to leave也就是ttl,就是该数据包在被丢弃之前所能经历的时间或者能经过的最大路由数目,ttl的值会在每次发往一个路由时自减一,一个繁琐的路由可能会让TTL减的不止一。

ip分片指的是将一个数据流分为更小的片段,是Ip用于解决跨越不同类型的网络时,可靠传输传输的一个特性,数据包的分片主要基于OSI模型第二层数据链路层所使用的最大传输单元MTU的大小以及使用其协议的第二层设备的配置情况,多数情况下第二层所使用的数据链路协议是以太网,而以太网默认MTU是1500(帧数据包的最大长度1518(以太网帧最大长度)-18(以太网帧头帧尾) = 1500字节。)

当一个设备准备传输一个数据包时,会把这个数据包和将要把这个数据包传出去的网络接口的MTU大小做比较,数据包大于MTU就会做分片处理,分片第一步是设备将数据分成若干个可以传输的数据包,第二步是每个IP头的总长度域会被设置成每个分片的长度,第三步是更多分片标志会在数据流的所有数据包中设置为1,最后一个数据包设置为0,第四步IP投入的部分分片偏移将会被设置,第五步发出数据包

TCP三次握手以及断开

下图是三次握手具体发出的数据包 

注意第一次握手数据包的seq值3691127924 

第二次的就为3691127925了

三次握手的数据包的像是sqe syn的值正常情况下都会像第一个图那样来变化。

带有RST的数据包意味着这次握手因为某些原因失败了。 

TCP和UDP的特点及区别(转载)


一 TCP和UDP的概念及特点
1.1 概述
TCP 和 UDP 都是传输层协议,他们都属于TCP/IP协议族。

1.2 UDP
① UDP概念
UDP的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。

② UDP特点
UDP只在IP数据报之上增加了很少功能,即复用分用和差错检测功能。

UDP的主要特点:

UDP是无连接的,减少开销和发送数据之前的时延。
UDP使用最大努力交付,即不保证可靠交付。
UDP是面向报文的,适合一次性传输少量数据的网络应用。


UDP无拥塞控制,适合很多实时应用。
UDP首部开销小,8B,TCP有20B。
③ UDP首部


UDP 头部包含了以下几个数据:

两个十六位的端口号,分别为源端口(可选字段)和目的端口
整个数据报文的长度
整个数据报文的检验和(IPv4 可选字段),该字段用于发现头部信息和数据中的错误
1.3 TCP
① TCP概念
TCP的全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构)。

② TCP特点
TCP是面向连接(虚连接)的传输层协议。
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。 (可靠有许、不丢不重)
TCP提供全双工通信。
发送缓存:准备发送的数据或者已发送但尚未收到确认的数据。
接收缓存:按序到达但尚未被接受应用程序读取的数据或者不按序到达的数据。
TCP面向字节流。
TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。

③TCP首部


二 TCP和UDP的区别
UDP    TCP
是否连接    无连接    面向连接
是否可靠    不可靠传输,不使用流量控制和拥塞控制    可靠传输(数据顺序和正确性),使用流量控制和拥塞控制
连接对象个数    支持一对一,一对多,多对一和多对多交互通信    只能是一对一通信
传输方式    面向报文    面向字节流
首部开销    首部开销小,仅8字节    首部最小20字节,最大60字节
适用场景    适用于实时应用,例如视频会议、直播    适用于要求可靠传输的应用,例如文件传输
三 TCP和UDP的使用场景
TCP应用场景: 效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确认、重发、排序等操作,相比之下效率没有UDP高。例如:文件传输(准确高要求高、但是速度可以相对慢)、接受邮件、远程登录。
UDP应用场景: 效率要求相对高,对准确性要求相对低的场景。例如:QQ聊天、在线视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。
————————————————
版权声明:本文为CSDN博主「儒rs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47750287/article/details/123727950

TCP窗口

数据传输最好就是一口气把数据包都发出去,可问题在于,接收方的缓存也许无法接收全部数据,网络带宽也不够大,一口气发太多就会导致丢包的情况发生,那么为了避免丢包,发送方就需要知道接收方的接收窗口和网络带宽,一口气能发送的数据量就是指TCP窗口的大小

随着处理数据的变化窗口大小也会实时变化,服务器大多数情况下不可能一直保持在最大窗口,那么就需要动态的来告诉客户端自己的窗口大小 

实在撑不住的时候,甚至会告知客户端自己的窗口大小为零,但是这不意味着没有数据包往来,客户端会发送保活数据包保持连接,等到服务器有空了,再次发送数据包。

 TCP重传

如果发送包发包一直没有得到回复,会加倍时间再发一次,不过次数一般也有上限,WINDOWS是五次,而LINUX足有十五次之多。

 带PSH的包,代表进行push操作,到达接收端会立刻传送给应用程序而不是在缓冲区等待

有时候丢包了,接收端回发送DUP ACK的包希望找到丢失的包,此时其他重传(也就是乱序的)都会停止直到找到丢失的包为止。

如果发送方收到接收方重复三个的ACK数据包,就会停止一切其他发送工作,专心发送这个丢失的包,也就是上图显示的快速重传数据包。

 丢失多个包的情况

假如发送方发送12345678八个包,其他的都发过去了,但是23出了问题,这时接收方发送了ACK2,那么发送方知道2的包丢了,却不知道别的包是否也出现问题了,此时何解呢?

三种方法,一个是笨办法,就是2之后的都重传。

第二个是接收方收到2之后,再继续发一个ACK3,这时全部的都连上了,再发送ACK9,这种被称为new reno,

第三种叫sack,就是接收方在接收到4时告诉发送方2没收到,接收到5时也告诉说2没收到

如图所示,在第三次ACK后,发送方来处理丢包,根据seq=1,sack等于5473-15049,这说明收到了5473到15049的数据,但是1到5472没有收到。

ICMP协议

      ICMP协议是一个网络层协议。和IP协议处于同一层,但是ICMP协议底层用的是IP协议。

        一个搭建好的网络,往往需要先进行简单的测试,来验证网络是否通畅。单单使用IP协议并不提供可靠性传输。似乎用IP协议如果丢包,并不能通知传输层是否丢包以及丢包原因。

        ICMP协议,如果在网络中丢包,会返回一个丢包原因给传输层。Ping就是一个请求ICMP echo数据包的工具而非指令

ICMP数据包最大不可超过64K假如超过了,就有可能导致内存分配错误,导致主机崩溃,这一点可以用来攻击,向目标主机长时间大量发送ICMP协议数据包也可以使得主机瘫痪

DHCP协议

DHCP协议呢,简单来说就是自动分配IP地址的协议。客户端先Discover请求向DHCP服务器,问一下自己IP地址,然后DHCP服务器Offer给它一个回复,但是这是有期限的,当租期一半时客户端会向这个服务器再Request申请延长一下,如果没得到回应,在之后租期到四分之三时会广播发送一次Request。这个协议是用UDP协议工作的,用WK搜索时过滤器要填UDP 

如图所示,一开始客户端电脑没有自己的IP地址,所以是0.0.0.0,发送给255.255.255.255,这个是一个广播地址,因为它也不知道DHCP服务器的所在,发给这样一个广播地址呢,就不管服务器在哪都是可以看到的。

然后可以看到OFFER数据包,由服务器地址发往想给客户端的地址,虽然客户端还没有用上这个地址,但是可以用ARP协议与之联系,联系失败则会广播。

DNS协议

为了解决IP地址难以记忆而出现,DNS就是用来将主机名域名解析为IP地址,运行在UDP之上,端口53

http协议

超文本传输协议,一个无状态的协议,也就是说WEB浏览器和服务器之间不需要建立持久联系,客户端与服务器之间走的是请求与应答的模式,使用80或者8080端口哦

https协议

基于SSL的安全超文本传输协议,基于http开发,http运用了SSL作为应用层的子层,端口443

FTP协议

一般运行在20与21两个端口,20用于客户端和服务器端口传输数据流,21用于传输控制流是FTP命令通向FTP服务器的入口,控制连接和数据连接都是TCP连接,控制连接用于传送用户名密码及设置传输方式等信息,数据连接用于传输文件数据。

特别的,当客户端控制进程与服务器端控制进程建立控制连接时还会告诉服务器端一个端口进行数据连接,一般默认20。数据连接在传送完文件后会断开,控制连接倒是会一直保持。要传送新文件时需要建立新的数据连接。因此FTP在传输大量小文件时效率比较的低下

先经过TCP三次握手之后,再到控制信息交互到客户端向服务器端请求下载文件,红框处说明它想从10.32.200.41,端口号为208乘以256加185(53433)处下载文件

FTP的传输控制信息那些是明文的,所以在实际运用中一般会加上防火墙什么的,如果是这样,服务器端想要与客户端建立TCP连接就可能受阻了,服务器找客户这就叫主动模式。

那么就要采用被动模式如下图了,,PASV这就代表着采用了被动模式。

然后接下来一个数据包就代表,服务器端让客户端在10.32.106.112 端口为240乘以256加217,主动模式就是客户向服务器这样要求了。

一般的FTP都要支持主动被动双模式,但是WINDOWS中只支持主动

KERBEROS协议

KDC,知道一切用户的账密,当A要和B交互时就去问KBC对方的账密是否正确,而AB不用知道对方的信息,确保安全。

重放攻击,截获Key-client重新发给KDC。

NFS协议

也就是网络文件系统,与其他大部分协议基于WINDOWS系统不同,他基于linux Unix系统,允许计算机之间通过TCP/IP网络共享资源,本地的NFS客户端可以像访问本地文件一样透明的访问远端的NFS。

1数据包请求访问NFS应该用哪个端口也就是GETPORT,2号回应可以,在2049端口。3客户端尝试连接服务器的NFS进程,还可以判断2049号端口是否被防火墙拦截或者NFS服务是否已经开启。4收到请求可以连接上。5客户端想连接服务器的挂载服务,也就是MOUNT,6回应端口在1234。7连接MOUNT服务,也在判断是否开启是否被防火墙拦截,8回复可以。9请求挂载到/CODE这个挂载目录,10服务器要求客户端使用Fhandle为75a18429进行访问。

11、12又来进行NFS连接,但是这连接一直没断过,这是工作人员的疏漏。13请求查看文件句柄为75a18429的文件的属性,14提供了该文件的大小和空间使用率等一些信息

如果PORTMAP被拦截考虑防火墙,如果MOUNT被拒绝考虑共享目录的访问机制。

NFS防御机制

NFS防御主要在于对客户端的访问控制以及对用户的权限控制。对客户端的访问控制由IP地址实现,允许不同IP有不同的读写只读操作。

对用户的权限控制有时候会出现问题,比如一个叫AA的上传一个文件到共享目录鲁,他的UID是501,这边NFS服务器就只去认识他的UID不管用户名,别的用户访问NFS看这个文件时候,也只知道UID就会看这个UID,在别的客户端这个UID可能就对应着BB,为了避免这个问题,要让所有客户端的UID与用户名的映射都相同。

1访问FH为75a18249的文件夹,2回复可以,3想要查看里面的文件和文件句柄。

4就回复了,这是ABC.TXT文件,还有其文件句柄。5访问其属性 6回复其文件大小UID GID等信息。 7想打开0506E1文件 8同意请求还给了相应权限

9就是从OFFSET偏移量为0处读取131072字节数据,10,从131072再读取131072字节数据。11和12分别允许这两个读取操作

接下来是写入文件的一系列数据包1是访问CODE目录,2允许。 4是查找目录上有没有叫abc.txt的文件,就是写入前先检查有没有同名的。5回复没有,6就叫创造一个ABC.TXT的文件,7回复可以并创造。

69客户端让服务端给这个文件从零写入131072字节数据,104回复写完了,接下来三个数据包还是让写入数据。

306问数据是否已经存盘 307回复已然

SMB/CIFS协议

windows上远程共享文件的协议,只需要右键属性共享就可以共享文件,在其他电脑上只需要IP加共享名即可访问。基于TCP协议

用户发送协商数据包,发送了自己支持的SMB版本。

E-mail数据包分析

SMTP数据包分析

由于基于TCP协议所以上面有三次握手数据包,5出现了发给服务端的EHLO指令,表明主机身份。然后从AUTH LOGIN请求登录,再到用户名密码(BSAE64)16代表邮箱登录成功

23DATA客户向服务器发送数据,25请求和响应都是用ASICILL文本,结束都是回车换行,也就是CR、LF,这代表服务器接受了数据,28之后就是发送数据的包。

如果想要查看数据包的主要信息,右键如图即可

子网掩码填错了还可以通信吗

B要和A通信,B先ARP请求默认网关的DNS,2DNS告诉B自己的DNS,3B去PING,A,但是DNS填的默认网关的,这里是B是默认认为默认网关给他转发。然后A主动广播找B,看来网关帮忙传达了、5然后ARP回复6就是回复了B的PING请求。

无线网络数据包

无线网络与有限网络的最大区别在于额外的802.11头部(位于第二层,包含数据包与传输介质有关的信息)

802.11分为三种 第一种为管理类型,用于在主机之间建立第二层的连接,还有一些重要的子类型如认证关联数据包等。第二位数据类型,唯一可以从无线网络转发到有线网络的数据包,第三位控制类型 与拥塞管理有关,负责允许管理类型与数据类型传输。

因为是无线网络的包,所以额外增加三个列,依次是信号强度、速率、频率以及信道

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值