wireshark所抓包的分析

2024-11-15 15:10:40
推荐回答(1个)
回答1:

问IP包格式 IP协议网络层协议.主要完数据包发送作用. 面表IP4数据包格式,IP封包格式(IPv4包首部度20字节)
|0......4........8..............16....................................32
-------------------------------------------------------------------------
|版本4.|首部度|服务类型(优先级|数据包总............................|
-------------------------------------------------------------------------
|标识...........................|RF|DF|MF|碎片偏移.....................|
-------------------------------------------------------------------------
|存间TTL....|协议(TCP/UDP)..|首部较验............................|
-------------------------------------------------------------------------
|源IP址..............................................................|
-------------------------------------------------------------------------
|目IP址............................................................|
-------------------------------------------------------------------------
|选项..................................................................|
=========================================================================
|数据..................................................................|
-------------------------------------------------------------------------Version (4) Internet Header Length (4) Type of Service (8) Total Length (16)
Identification (16) Flags (3) Fragment Offset (13)
Time To Live (8) Protocol (8) Header checksum (16)
Source Address (32)
Destination Address (32)
Options (Variable) Padding (0-24)
 
Data
....
IP包字段含义
IP包字段含义

图括号内数字各部件度(bit)您够细计算每拦信列总度都32bit面我别各部件名称解释

Version
版本(VER)表示IP规格版本目前IP规格版本4(version 4)所数值通 0x4 (注洞游意封包使用数字通都十六进位)

Internet Header Length(值5表示包度5行即532位5行=5*32bit=20*8bit=20byte=0x14byte)
标度(IHL)IP封包规格看前面6行headerOptionsPadding没5行所度5我知道每行32bit4byte麽5行20byte20数值换16进制0x14所封包标度短候数值终简颤轮换算0x14

让我看看我撷取ICMP封包其属於IP部份

我看数值45前面4版本号数後面5则标度

Type of Service
服务类型(TOS)指IP封包传送程要求服务类型其共由8bit组其每bit组合别代表同意思

000..... Routine 设定IP顺序预设0否则数值越高越优先
...0.... Delay 延迟要求0值1低要求
....0... Throughput 通讯量要求0值1高要求
.....0.. Reliability 靠性要求0值1高要求
......00 Not Used 未使用

例我看TOS值0全部设置值

Total Length
封包总(TL)通byte做单位表示该封包总度数值包括标数据总

图我看十六进位数值003C换十进位60

Identification
识别码(ID)每IP封包都16bit唯识别码我OSI网路层级知识面知道程序产数据要通网络传送都拆散封包形式发送封包要进行重组候ID依据

图我看封包ID40973 ( a00d 换十进制知道)

Flag
标记(FL)封包传输程进行佳组合使用3bit识别记号请参考表

000. Reserved Fragment 值0候表示目前未使用
.0.. Don't Fragment 值0候表示封包割1则能割
..0. More Fragment 值0:值0示该封包後封包1则表示其後割封包

例我看封包标记0目前并未使用

Fragment Offset
割定位(FO)封包切後由於网路情况或其素影响其抵达顺序并初切割顺序至所封包进行切割候各片段做定位记录所重组候能够依号入座

我刚才撷取封包并没切割所暂找例参考例我看FO0

Time To Live
延续间(TTL)TTL我许网路设定都碰物件赋予TTL值(秒单位)後进行计物件达TTL值候没处理遗弃 并所 TTL 都间单位例 ICMP 协定 TTL则封包路由程跳站数目(Hop Count)做单位TTL 值每经跳站(或 router 处理)後减低数值 封包传递程由於某些原未能抵达目候避免其直充斥网路面

图我看数值 20 哦十六进位数字要换十进位才知道 TTL 原 32 跳站

Protocol
协定(PROT)指该封包所使用网路协定类型例ICMPDNS等要注意使用协定网路层协定层程式协定(FTPPOP等)同您Linux/etc/protocol档案找些协定其代号档案存放於NT\winnt\system32\drivers\etc目录面其内容
------------------------------------------------------
ip 0 IP # internet protocol, pseudo protocol number
icmp 1 ICMP # internet control message protocol
igmp 2 IGMP # Internet Group Management
ggp 3 GGP # gateway-gateway protocol
ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')
st 5 ST # ST datagram mode
tcp 6 TCP # transmission control protocol
egp 8 EGP # exterior gateway protocol
pup 12 PUP # PARC universal packet protocol
udp 17 UDP # user datagram protocol
hmp 20 HMP # host monitoring protocol
xns-idp 22 XNS-IDP # Xerox NS IDP
rdp 27 RDP # "reliable datagram" protocol
iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4
xtp 36 XTP # Xpress Tranfer Protocol
ddp 37 DDP # Datagram Delivery Protocol
idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport
rspf 73 RSPF #Radio Shortest Path First.
vmtp 81 VMTP # Versatile Message Transport
ospf 89 OSPFIGP # Open Shortest Path First IGP
ipip 94 IPIP # Yet Another IP encapsulation
encap 98 ENCAP # Yet Another IP encapsulation
------------------------------------------------------

我例看PROT号码01照/etc/protocol档案我知道ICMP协定

Header Checksum
标检验值(HC)数值主要用检错用用确保封包确误接收封包始进行传送後接收端主机利用检验值检验馀封包切看误发确认信息表示接收

图我看封包HC9049

Source IP Address
源址(SA)相信用解释发送端IP址

我c0.a8.00.0f换十进位192.168.0.15址

Destination IP Address
目址(DA)接收端IP址啦

看看能能a8.5f.01.54换168.95.1.84

Options & Padding
两选项甚少使用某些特殊封包需要特定控制才利用作细表啦

面我看看IP结构定义

struct ip
{
#if __BYTE_ORDER == __LITTLE_ENDIAN
unsigned int ip_hl:4; /* header length */
unsigned int ip_v:4; /* version */
#endif
#if __BYTE_ORDER == __BIG_ENDIAN
unsigned int ip_v:4; /* version */
unsigned int ip_hl:4; /* header length */
#endif
u_int8_t ip_tos; /* type of service */
u_short ip_len; /* total length */
u_short ip_id; /* identification */
u_short ip_off; /* fragment offset field */
#define IP_RF 0x8000 /* Reserved Fragment flag */
#define IP_DF 0x4000 /* Don't Fragment flag即第二位1(包) */
#define IP_MF 0x2000 /* More Fragments flag即二三位00(包,包)或01(继包) */
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
u_int8_t ip_ttl; /* time to live */
u_int8_t ip_p; /* protocol */
u_short ip_sum; /* checksum */
struct in_addr ip_src, ip_dst; /* source and dest address */
};

ip_v IP协议版本号,4,现IPV6已经

ip_hl IP包首部度,值4字节单位.IP协议首部固定度20字节,IP包没选项,值5.

ip_tos服务类型,说明提供优先权.

ip_len说明IP数据度.字节单位.

ip_id标识IP数据包.

ip_off碎片偏移,面ID起用重组碎片.

ip_ttl存间.没经路由候减,直0抛弃.

ip_p协议,表示创建IP数据包高层协议.TCP,UDP协议.

ip_sum首部校验,提供首部数据校验.

ip_src,ip_dst发送者接收者IP址