Quantcast
Channel: 碳基体
Viewing all articles
Browse latest Browse all 75

一、TCP/IP数据包基础知识

$
0
0
我们在做基于全流量的网络安全评估的时候会需要对关键服务的协议进行分析,该系列主要讲这些关键协议分析的基础知识及应用示例
一、TCP/IP数据包基础知识 - 碳基体 - 碳基体
 
网络协议的基础构成包括Ethernet头,IP头,TCP/UDP头,应用层数据

一、Ethernet 头
包含源mac地址目的mac地址
一、TCP/IP数据包基础知识 - 碳基体 - 碳基体
 Type包含IPv4/ARP/IPv6
 
二、IPv4/IPv6头
包含源ip地址、目的ip地址
一、TCP/IP数据包基础知识 - 碳基体 - 碳基体
 Protocol包含TCP/UDP/ICMP/IGMP/IGRP/GRE/ESP/AH
 
三、TCP/UDP/ICMP
(1)TCP头
包含源端口地址,目的端口地址、序列号SEQ、响应号ACK、
Flags(FIN结束会话、SYN同步,表示开始会话请求、RST复位,中断一个连接、PUSH推送,数据包立即发送、ACK应答、URG紧急、ECE显示拥塞提醒回应、CWR拥塞窗口减少)
一、TCP/IP数据包基础知识 - 碳基体 - 碳基体
 
下面示例TCP开始连接时候的三次握手

python print_pcap.py --pcapfile=data/pcap_pub/wireshark/mysql_complete.pcap

(源码见 https://github.com/tanjiti/packet_analysis

[TCP] [1216309825.14 2008-07-17 15:50:25] 192.168.0.254:56162(00:00:00:00:00:00) ----->192.168.0.254:3306(00:00:00:00:00:00) SEQ=3436755789 ACK=0 FLAGS=['SYN'] WIN=32792 DATA= ttl=64 DATA_BINARY= LEN=0

[TCP] [1216309825.14 2008-07-17 15:50:25] 192.168.0.254:3306(00:00:00:00:00:00) ----->192.168.0.254:56162(00:00:00:00:00:00) SEQ=3442775511 ACK=3436755790 FLAGS=['ACK', 'SYN'] WIN=32768 DATA= ttl=64 DATA_BINARY= LEN=0

[TCP] [1216309825.14 2008-07-17 15:50:25] 192.168.0.254:56162(00:00:00:00:00:00) ----->192.168.0.254:3306(00:00:00:00:00:00) SEQ=3436755790 ACK=3442775512 FLAGS=['ACK'] WIN=513 DATA= ttl=64 DATA_BINARY= LEN=0

(2)UDP头

包含源端口地址,目的端口地址

一、TCP/IP数据包基础知识 - 碳基体 - 碳基体

 

(3)ICMP头

包含:ICMP Type与各种Type对应的Code

一、TCP/IP数据包基础知识 - 碳基体 - 碳基体

 

四、应用层数据
一、TCP/IP数据包基础知识 - 碳基体 - 碳基体
 
详细的应用层协议分析见后续系列






Viewing all articles
Browse latest Browse all 75

Trending Articles