一些协议学习&wireshark使用复习与技巧总结
重新系统的学习一下wireshark的使用 和一些tip
tcp协议
简介
TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP
Protocols),简称TCP/IP。TCP/IP协议族提供了点对点的连结机制,并且将传输数据帧的封装、寻址、传输、路由以及接收方式,都予以标准化。
TCP/IP协议的分层模型
在展开介绍TCP/IP协议之前,首先介绍一下七层ISO模型。国际标准化组织ISO为了使网络应用更为普及,推出了OSI参考模型,即开放式系统互联(Open System Interconnect)模型,一般都叫OSI参考模型。OSI参考模型是ISO组织在1985年发布的网络互连模型,其含义就是为所有公司使用一个统一的规范来控制网络,这样所有公司遵循相同的通信规范,网络就能互联互通了。
OSI模型的七层框架
OSI模型定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI模型各层的通信协议,大致举例如下表所示:
表:OSI模型各层的通信协议举例
应用层 | HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP、等等 |
表示层 | XDR、ASN.1、SMB、AFP、NCP、等等 |
会话层 | ASAP、SSH、RPC、NetBIOS、ASP、Winsock、BSD Sockets、等等 |
传输层 | TCP、UDP、TLS、RTP、SCTP、SPX、ATP、IL、等等 |
网络层 | IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25、等等 |
数据链路层 | 以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP、等等 |
物理层 | 例如铜缆、网线、光缆、无线电等等 |
TCP/IP协议是Internet互联网最基本的协议,其在一定程度上参考了七层ISO模型。OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,七层被简化为了四个层次。TCP/IP模型中的各种协议,依其功能不同,被分别归属到这四层之中,常被视为是简化过后的七层OSI模型。
根据抓包解释tcp协议
源端口号和目的端口号与udp中类似,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接,在网络编程中,一般一个IP地址和一个端口号组合称为一个套接字(socket)。
序号:用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。在tcp中tcp用序号对每个字节进行计数(这个值与发送的帧数没有关系,而是与发送的数据字节数有关系,后面会有说明)。
确认序号:包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加 1(不是单纯的序号加1,还包括数据字节数)。
首部长度:用于记录tcp数据报首部的长度,一般为20字节,实际值为首部长度除以4。
URG: 紧急指针( urgent pointer)有效。
ACK: 确认序号有效。
PSH: 接收方应该尽快将这个报文段交给应用层。
RST: 重建连接。
SYN: 同步序号用来发起一个连接。
FIN: 发端完成发送任务。
窗口大小:用于流量控制。
检验和:检验和覆盖了整个的 TCP报文段: TCP首部和TCP数据,与udp相似需要计算伪首部。
来解释一下这个包
name | explanation |
---|---|
Source port | 端口 |
Destination Port | 目标端口 |
Sequence Number | 序号 |
Ackonwledgment Number | 确认序号 |
Header Length | 头部长度 |
Flags | 标志位 |
Windows | 窗口大小 |
Checksum | 校验和 |
Urgent Pointer | 紧急指针 |
SEQ/ACK nanlysis | 数据 |
TCP连接的建立
如图所示 为tcp三次握手
TCP连接的释放
当通信双方完成数据传输,需要进行TCP连接的释放,由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。因为正常关闭过程需要发送4个TCP帧,因此这个过程也叫作4次挥手。具体过程如下图:
图从百度搜的 有点糊
但做的这题中包的顺序似乎不太一致
SMTP协议分析
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP
是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。
没什么太多要分析的 主要是状态码搞明白就很容易看懂了
https://blog.csdn.net/qq_35644234/article/details/68961603
Analysed Information
Expert Information
Clicking on Analyze –> Expert Information you will have an overview of what is happening in the packets analised:
可以很直观的审视所有数据包
Resolved Addresses
Under Statistics –> Resolved Addresses you can find several information that was “resolved“ by wireshark like port/transport to protocol, mac to manufacturer… This is interesting to know what is implicated in the communication.
Protocol Hierarchy
Under Statistics –> Protocol Hierarchy you can find the protocols involved in the communication and data about them.
Conversations
Under Statistics –> Conversations you can find a summary of the conversations in the communication and data about them.
Endpoints
Under Statistics –> Endpointsyou can find a summary of the endpoints in the communication and data about each of them.
DNS info
Under Statistics –> DNS you can find statistics about the DNS request captured.
I/O Graph
UnderStatistics –> I/O Graph you can find a graph of the communication.
Filters
Here you can find wireshark filter depending on the protocol: https://www.wireshark.org/docs/dfref/ Other interesting filters:
Search
If you want to search for content inside the packets of the sessions CTRL+f __You can add new layers to the main information bar (No., Time, Source…) pressing right bottom and Edit Column