1
1
mirror of https://github.com/wader/fq.git synced 2024-11-23 00:57:15 +03:00

tcp: Split into client/server structs and add skipped_bytes and has_start/end per direction

Feels clenaer and removes _client/server field prefixes
This commit is contained in:
Mattias Wadman 2022-05-06 16:45:59 +02:00
parent 51ea1a31b9
commit 34cf5442b3
10 changed files with 701 additions and 600 deletions

View File

@ -55,6 +55,7 @@
"gojq",
"gojqextra",
"golangci",
"gopacket",
"GOPATH",
"gosec",
"gosimple",

View File

@ -240,6 +240,7 @@ type TCPStreamIn struct {
IsClient bool
HasStart bool
HasEnd bool
SkippedBytes uint64
SourcePort int
DestinationPort int
}

View File

@ -13,19 +13,22 @@ import (
"github.com/google/gopacket/reassembly"
)
type IPEndpoint struct {
type TCPEndpoint struct {
IP net.IP
Port int
}
type TCPConnection struct {
ClientEndpoint IPEndpoint
ServerEndpoint IPEndpoint
HasStart bool
HasEnd bool
ClientToServer *bytes.Buffer
ServerToClient *bytes.Buffer
type TCPDirection struct {
Endpoint TCPEndpoint
HasStart bool
HasEnd bool
Buffer *bytes.Buffer
SkippedBytes uint64
}
type TCPConnection struct {
Client TCPDirection
Server TCPDirection
tcpState *reassembly.TCPSimpleFSM
optChecker reassembly.TCPOptionCheck
net gopacket.Flow
@ -53,25 +56,31 @@ func (t *TCPConnection) ReassembledSG(sg reassembly.ScatterGather, ac reassembly
dir, start, end, skip := sg.Info()
length, _ := sg.Lengths()
var d *TCPDirection
switch dir {
case reassembly.TCPDirClientToServer:
d = &t.Client
case reassembly.TCPDirServerToClient:
d = &t.Server
default:
panic("unreachable")
}
if skip == -1 {
// can't find where skip == -1 is documented but this is what gopacket reassemblydump does
// to allow missing syn/ack
} else if skip != 0 {
// stream has missing bytes
d.SkippedBytes += uint64(skip)
return
}
t.HasStart = t.HasStart || start
t.HasEnd = t.HasEnd || end
d.HasStart = d.HasStart || start
d.HasEnd = d.HasEnd || end
data := sg.Fetch(length)
switch dir {
case reassembly.TCPDirClientToServer:
t.ClientToServer.Write(data)
case reassembly.TCPDirServerToClient:
t.ServerToClient.Write(data)
}
d.Buffer.Write(data)
}
func (t *TCPConnection) ReassemblyComplete(ac reassembly.AssemblerContext) bool {
@ -103,16 +112,20 @@ func (fd *Decoder) New(net, transport gopacket.Flow, tcp *layers.TCP, ac reassem
}
stream := &TCPConnection{
ClientEndpoint: IPEndpoint{
IP: append([]byte(nil), net.Src().Raw()...),
Port: clientPort,
Client: TCPDirection{
Endpoint: TCPEndpoint{
IP: append([]byte(nil), net.Src().Raw()...),
Port: clientPort,
},
Buffer: &bytes.Buffer{},
},
ServerEndpoint: IPEndpoint{
IP: append([]byte(nil), net.Dst().Raw()...),
Port: serverPort,
Server: TCPDirection{
Endpoint: TCPEndpoint{
IP: append([]byte(nil), net.Dst().Raw()...),
Port: serverPort,
},
Buffer: &bytes.Buffer{},
},
ClientToServer: &bytes.Buffer{},
ServerToClient: &bytes.Buffer{},
net: net,
transport: transport,

View File

@ -2,90 +2,138 @@
$ fq '.tcp_connections | d' flow_missing_synack.pcap
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.tcp_connections[0:8]:
| | | [0]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2061
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9c fa fe|...........P....| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2061
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9c fa fe|...........P....| stream: raw bits
* |until 0x177.7 (end) (376) | |
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c 9f e3|....5...1..P....| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c 9f e3|....5...1..P....| stream: raw bits
* |until 0x42b.7 (end) (1068) | |
| | | [1]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2068
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9d 00 a1|...........P....| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2068
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9d 00 a1|...........P....| stream: raw bits
* |until 0x177.7 (end) (376) | |
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c a5 e5|....5...1..P....| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c a5 e5|....5...1..P....| stream: raw bits
* |until 0x42b.7 (end) (1068) | |
| | | [2]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2070
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9d 03 f3|...........P....| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2070
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9d 03 f3|...........P....| stream: raw bits
* |until 0x2ad.7 (end) (686) | |
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c a8 b2|....5...1..P....| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c a8 b2|....5...1..P....| stream: raw bits
* |until 0x53c.7 (end) (1341) | |
| | | [3]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2071
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 03 d8|....n...j..P....| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2071
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 03 d8|....n...j..P....| stream: raw bits
* |until 0x2df.7 (end) (736) | |
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c a8 fc|....Q...M..P....| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c a8 fc|....Q...M..P....| stream: raw bits
* |until 0x1b7.7 (end) (440) | |
| | | [4]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2072
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 03 94|....n...j..P....| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2072
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 03 94|....n...j..P....| stream: raw bits
* |until 0x2fd.7 (end) (766) | |
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c a8 d8|....Q...M..P....| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c a8 d8|....Q...M..P....| stream: raw bits
* |until 0x1b7.7 (end) (440) | |
| | | [5]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2073
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: true
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 0d 96|....n...j..P....| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2073
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 0d 96|....n...j..P....| stream: raw bits
* |until 0x2fd.7 (end) (766) | |
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c b2 45|....Q...M..P...E| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: true
| | | skipped_bytes: 0
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c b2 45|....Q...M..P...E| stream: raw bits
* |until 0x2d73.7 (end) (11636) | |
| | | [6]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2078
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d d7 3a|....n...j..P...:| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2078
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d d7 3a|....n...j..P...:| stream: raw bits
* |until 0x38c.7 (end) (909) | |
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9d 7c ac|....Q...M..P..|.| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9d 7c ac|....Q...M..P..|.| stream: raw bits
* |until 0x2d5.7 (end) (726) | |
| | | [7]{}: tcp_connection
| | | source_ip: "192.168.1.4"
| | | source_port: 2085
| | | destination_ip: "192.168.1.3"
| | | destination_port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9e 02 2b|....n...j..P...+| client_stream: raw bits
| | | client{}:
| | | ip: "192.168.1.4"
| | | port: 2085
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9e 02 2b|....n...j..P...+| stream: raw bits
* |until 0x4a0.7 (end) (1185) | |
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9d a7 8b|....Q...M..P....| server_stream: raw bits
| | | server{}:
| | | ip: "192.168.1.3"
| | | port: "https" (443) (http protocol over TLS/SSL)
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9d a7 8b|....Q...M..P....| stream: raw bits
* |until 0x4f3.7 (end) (1268) | |

View File

@ -33,6 +33,7 @@ var linkToDecodeFn = map[int]func(fd *flowsdecoder.Decoder, bs []byte) error{
},
}
// TODO: make some of this shared if more packet capture formats are added
func fieldFlows(d *decode.D, fd *flowsdecoder.Decoder, tcpStreamFormat decode.Group, ipv4PacketFormat decode.Group) {
d.FieldArray("ipv4_reassembled", func(d *decode.D) {
for _, p := range fd.IPV4Reassembled {
@ -51,43 +52,44 @@ func fieldFlows(d *decode.D, fd *flowsdecoder.Decoder, tcpStreamFormat decode.Gr
d.FieldArray("tcp_connections", func(d *decode.D) {
for _, s := range fd.TCPConnections {
d.FieldStruct("tcp_connection", func(d *decode.D) {
d.FieldValueStr("source_ip", s.ClientEndpoint.IP.String())
d.FieldValueU("source_port", uint64(s.ClientEndpoint.Port), format.TCPPortMap)
d.FieldValueStr("destination_ip", s.ServerEndpoint.IP.String())
d.FieldValueU("destination_port", uint64(s.ServerEndpoint.Port), format.TCPPortMap)
d.FieldValueBool("has_start", s.HasStart)
d.FieldValueBool("has_end", s.HasEnd)
csBR := bitio.NewBitReader(s.ClientToServer.Bytes(), -1)
if dv, _, _ := d.TryFieldFormatBitBuf(
"client_stream",
csBR,
tcpStreamFormat,
format.TCPStreamIn{
IsClient: true,
HasStart: s.HasStart,
HasEnd: s.HasEnd,
SourcePort: s.ClientEndpoint.Port,
DestinationPort: s.ServerEndpoint.Port,
},
); dv == nil {
d.FieldRootBitBuf("client_stream", csBR)
f := func(d *decode.D, td *flowsdecoder.TCPDirection, tsi format.TCPStreamIn) {
d.FieldValueStr("ip", td.Endpoint.IP.String())
d.FieldValueU("port", uint64(td.Endpoint.Port), format.TCPPortMap)
d.FieldValueBool("has_start", td.HasStart)
d.FieldValueBool("has_end", td.HasEnd)
d.FieldValueU("skipped_bytes", td.SkippedBytes)
br := bitio.NewBitReader(td.Buffer.Bytes(), -1)
if dv, _, _ := d.TryFieldFormatBitBuf(
"stream",
br,
tcpStreamFormat,
tsi,
); dv == nil {
d.FieldRootBitBuf("stream", br)
}
}
scBR := bitio.NewBitReader(s.ServerToClient.Bytes(), -1)
if dv, _, _ := d.TryFieldFormatBitBuf(
"server_stream",
scBR,
tcpStreamFormat,
format.TCPStreamIn{
d.FieldStruct("client", func(d *decode.D) {
f(d, &s.Client, format.TCPStreamIn{
IsClient: true,
HasStart: s.Client.HasStart,
HasEnd: s.Client.HasEnd,
SkippedBytes: s.Client.SkippedBytes,
SourcePort: s.Client.Endpoint.Port,
DestinationPort: s.Server.Endpoint.Port,
})
})
d.FieldStruct("server", func(d *decode.D) {
f(d, &s.Server, format.TCPStreamIn{
IsClient: false,
HasStart: s.HasStart,
HasEnd: s.HasEnd,
SourcePort: s.ServerEndpoint.Port,
DestinationPort: s.ClientEndpoint.Port,
},
); dv == nil {
d.FieldRootBitBuf("server_stream", scBR)
}
HasStart: s.Server.HasStart,
HasEnd: s.Server.HasEnd,
SkippedBytes: s.Server.SkippedBytes,
SourcePort: s.Server.Endpoint.Port,
DestinationPort: s.Client.Endpoint.Port,
})
})
})
}
})

View File

@ -609,13 +609,19 @@ $ fq -d pcap dv /http_gzip.cap
| | | ipv4_reassembled[0:0]: 0x6ab-NA (0)
| | | tcp_connections[0:1]: 0x6ab-NA (0)
| | | [0]{}: tcp_connection 0x6ab-NA (0)
| | | source_ip: "192.168.69.2" 0x6ab-NA (0)
| | | source_port: 34059 0x6ab-NA (0)
| | | destination_ip: "192.168.69.1" 0x6ab-NA (0)
| | | destination_port: "http" (80) (World Wide Web HTTP) 0x6ab-NA (0)
| | | has_start: true 0x6ab-NA (0)
| | | has_end: true 0x6ab-NA (0)
0x000|47 45 54 20 2f 74 65 73 74 2f 65 74 68 65 72 65|GET /test/ethere| client_stream: raw bits 0x0-0x1bc.7 (445)
| | | client{}: 0x6ab-NA (0)
| | | ip: "192.168.69.2" 0x6ab-NA (0)
| | | port: 34059 0x6ab-NA (0)
| | | has_start: true 0x6ab-NA (0)
| | | has_end: true 0x6ab-NA (0)
| | | skipped_bytes: 0 0x6ab-NA (0)
0x000|47 45 54 20 2f 74 65 73 74 2f 65 74 68 65 72 65|GET /test/ethere| stream: raw bits 0x0-0x1bc.7 (445)
* |until 0x1bc.7 (end) (445) | |
0x000|48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d|HTTP/1.1 200 OK.| server_stream: raw bits 0x0-0x191.7 (402)
| | | server{}: 0x6ab-NA (0)
| | | ip: "192.168.69.1" 0x6ab-NA (0)
| | | port: "http" (80) (World Wide Web HTTP) 0x6ab-NA (0)
| | | has_start: true 0x6ab-NA (0)
| | | has_end: true 0x6ab-NA (0)
| | | skipped_bytes: 0 0x6ab-NA (0)
0x000|48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d|HTTP/1.1 200 OK.| stream: raw bits 0x0-0x191.7 (402)
* |until 0x191.7 (end) (402) | |

View File

@ -3483,13 +3483,19 @@ $ fq -d pcap dv ipv6_http.pcap
| | | ipv4_reassembled[0:0]: 0x23c7-NA (0)
| | | tcp_connections[0:1]: 0x23c7-NA (0)
| | | [0]{}: tcp_connection 0x23c7-NA (0)
| | | source_ip: "2001:6f8:102d:0:2d0:9ff:fee3:e8de" 0x23c7-NA (0)
| | | source_port: 59201 0x23c7-NA (0)
| | | destination_ip: "2001:6f8:900:7c0::2" 0x23c7-NA (0)
| | | destination_port: "http" (80) (World Wide Web HTTP) 0x23c7-NA (0)
| | | has_start: true 0x23c7-NA (0)
| | | has_end: true 0x23c7-NA (0)
0x000|47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a|GET / HTTP/1.0..| client_stream: raw bits 0x0-0xef.7 (240)
| | | client{}: 0x23c7-NA (0)
| | | ip: "2001:6f8:102d:0:2d0:9ff:fee3:e8de" 0x23c7-NA (0)
| | | port: 59201 0x23c7-NA (0)
| | | has_start: true 0x23c7-NA (0)
| | | has_end: true 0x23c7-NA (0)
| | | skipped_bytes: 0 0x23c7-NA (0)
0x000|47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a|GET / HTTP/1.0..| stream: raw bits 0x0-0xef.7 (240)
* |until 0xef.7 (end) (240) | |
0x000|48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d|HTTP/1.1 200 OK.| server_stream: raw bits 0x0-0x8d2.7 (2259)
| | | server{}: 0x23c7-NA (0)
| | | ip: "2001:6f8:900:7c0::2" 0x23c7-NA (0)
| | | port: "http" (80) (World Wide Web HTTP) 0x23c7-NA (0)
| | | has_start: true 0x23c7-NA (0)
| | | has_end: true 0x23c7-NA (0)
| | | skipped_bytes: 0 0x23c7-NA (0)
0x000|48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d|HTTP/1.1 200 OK.| stream: raw bits 0x0-0x8d2.7 (2259)
* |until 0x8d2.7 (end) (2259) | |

View File

@ -5487,23 +5487,35 @@ $ fq -d pcapng dv /many_interfaces.pcapng
| | | ipv4_reassembled[0:0]: 0x51b8-NA (0)
| | | tcp_connections[0:2]: 0x51b8-NA (0)
| | | [0]{}: tcp_connection 0x51b8-NA (0)
| | | source_ip: "192.168.1.139" 0x51b8-NA (0)
| | | source_port: 50981 0x51b8-NA (0)
| | | destination_ip: "74.125.228.227" 0x51b8-NA (0)
| | | destination_port: "https" (443) (http protocol over TLS/SSL) 0x51b8-NA (0)
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
0x000|16 03 01 02 00 01 00 01 fc 03 03 f0 91 bc 87 3e|...............>| client_stream: raw bits 0x0-0x7b0.7 (1969)
| | | client{}: 0x51b8-NA (0)
| | | ip: "192.168.1.139" 0x51b8-NA (0)
| | | port: 50981 0x51b8-NA (0)
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
0x000|16 03 01 02 00 01 00 01 fc 03 03 f0 91 bc 87 3e|...............>| stream: raw bits 0x0-0x7b0.7 (1969)
* |until 0x7b0.7 (end) (1969) | |
0x000|16 03 03 00 5a 02 00 00 56 03 03 55 d0 e5 ff ab|....Z...V..U....| server_stream: raw bits 0x0-0x35b.7 (860)
| | | server{}: 0x51b8-NA (0)
| | | ip: "74.125.228.227" 0x51b8-NA (0)
| | | port: "https" (443) (http protocol over TLS/SSL) 0x51b8-NA (0)
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
0x000|16 03 03 00 5a 02 00 00 56 03 03 55 d0 e5 ff ab|....Z...V..U....| stream: raw bits 0x0-0x35b.7 (860)
* |until 0x35b.7 (end) (860) | |
| | | [1]{}: tcp_connection 0x51b8-NA (0)
| | | source_ip: "192.168.1.139" 0x51b8-NA (0)
| | | source_port: 50982 0x51b8-NA (0)
| | | destination_ip: "74.125.228.227" 0x51b8-NA (0)
| | | destination_port: "https" (443) (http protocol over TLS/SSL) 0x51b8-NA (0)
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
0x000|16 03 01 00 d3 01 00 00 cf 03 03 c0 a6 33 83 e1|.............3..| client_stream: raw bits 0x0-0xd7.7 (216)
| | | client{}: 0x51b8-NA (0)
| | | ip: "192.168.1.139" 0x51b8-NA (0)
| | | port: 50982 0x51b8-NA (0)
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
0x000|16 03 01 00 d3 01 00 00 cf 03 03 c0 a6 33 83 e1|.............3..| stream: raw bits 0x0-0xd7.7 (216)
* |until 0xd7.7 (end) (216) | |
| | | server_stream: raw bits 0x0-NA (0)
| | | server{}: 0x51b8-NA (0)
| | | ip: "74.125.228.227" 0x51b8-NA (0)
| | | port: "https" (443) (http protocol over TLS/SSL) 0x51b8-NA (0)
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
| | | stream: raw bits 0x0-NA (0)

View File

@ -335,11 +335,17 @@ $ fq -d pcap dv /sll2_tcp.pcap
| | | ipv4_reassembled[0:0]: 0x1e5-NA (0)
| | | tcp_connections[0:1]: 0x1e5-NA (0)
| | | [0]{}: tcp_connection 0x1e5-NA (0)
| | | source_ip: "127.0.0.1" 0x1e5-NA (0)
| | | source_port: 47174 0x1e5-NA (0)
| | | destination_ip: "127.0.0.1" 0x1e5-NA (0)
| | | destination_port: 1234 0x1e5-NA (0)
| | | has_start: true 0x1e5-NA (0)
| | | has_end: false 0x1e5-NA (0)
0x00|74 65 73 74 0a| |test.| | client_stream: raw bits 0x0-0x4.7 (5)
| | | server_stream: raw bits 0x0-NA (0)
| | | client{}: 0x1e5-NA (0)
| | | ip: "127.0.0.1" 0x1e5-NA (0)
| | | port: 47174 0x1e5-NA (0)
| | | has_start: true 0x1e5-NA (0)
| | | has_end: false 0x1e5-NA (0)
| | | skipped_bytes: 0 0x1e5-NA (0)
0x00|74 65 73 74 0a| |test.| | stream: raw bits 0x0-0x4.7 (5)
| | | server{}: 0x1e5-NA (0)
| | | ip: "127.0.0.1" 0x1e5-NA (0)
| | | port: 1234 0x1e5-NA (0)
| | | has_start: true 0x1e5-NA (0)
| | | has_end: false 0x1e5-NA (0)
| | | skipped_bytes: 0 0x1e5-NA (0)
| | | stream: raw bits 0x0-NA (0)

View File

@ -1,496 +1,502 @@
$ fq '.tcp_connections | dv' rtmp_sample.cap
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.tcp_connections[0:1]: 0x2268-NA (0)
| | | [0]{}: tcp_connection 0x2268-NA (0)
| | | source_ip: "192.168.43.1" 0x2268-NA (0)
| | | source_port: 1177 0x2268-NA (0)
| | | destination_ip: "192.168.43.128" 0x2268-NA (0)
| | | destination_port: "rtmp" (1935) (Real-Time Messaging Protocol) 0x2268-NA (0)
| | | has_start: true 0x2268-NA (0)
| | | has_end: false 0x2268-NA (0)
| | | client_stream{}: (rtmp) 0x0-0xd7b.7 (3452)
| | | handshake{}: 0x0-0xc00.7 (3073)
| | | c0{}: 0x0-0x0.7 (1)
0x000|03 |. | version: 3 0x0-0x0.7 (1)
| | | c1{}: 0x1-0x600.7 (1536)
0x000| 00 07 aa 57 | ...W | time: 502359 0x1-0x4.7 (4)
0x000| 00 00 00 00 | .... | zero: 0 0x5-0x8.7 (4)
0x000| c4 ff 95 ff 1a ff e3| .......| random: raw bits 0x9-0x600.7 (1528)
| | | client{}: 0x2268-NA (0)
| | | ip: "192.168.43.1" 0x2268-NA (0)
| | | port: 1177 0x2268-NA (0)
| | | has_start: true 0x2268-NA (0)
| | | has_end: false 0x2268-NA (0)
| | | skipped_bytes: 0 0x2268-NA (0)
| | | stream{}: (rtmp) 0x0-0xd7b.7 (3452)
| | | handshake{}: 0x0-0xc00.7 (3073)
| | | c0{}: 0x0-0x0.7 (1)
0x000|03 |. | version: 3 0x0-0x0.7 (1)
| | | c1{}: 0x1-0x600.7 (1536)
0x000| 00 07 aa 57 | ...W | time: 502359 0x1-0x4.7 (4)
0x000| 00 00 00 00 | .... | zero: 0 0x5-0x8.7 (4)
0x000| c4 ff 95 ff 1a ff e3| .......| random: raw bits 0x9-0x600.7 (1528)
0x010|ff c0 00 c1 00 36 00 af 00 fc 00 2d 00 92 ff bb|.....6.....-....|
* |until 0x600.7 (1528) | |
| | | c2{}: 0x601-0xc00.7 (1536)
0x600| 3d d5 b7 00 | =... | time: 1037416192 0x601-0x604.7 (4)
0x600| 00 00 00 9f | .... | time2: 159 0x605-0x608.7 (4)
0x600| 01 00 76 00 ef 00 3c| ..v...<| random: raw bits 0x609-0xc00.7 (1528)
| | | c2{}: 0x601-0xc00.7 (1536)
0x600| 3d d5 b7 00 | =... | time: 1037416192 0x601-0x604.7 (4)
0x600| 00 00 00 9f | .... | time2: 159 0x605-0x608.7 (4)
0x600| 01 00 76 00 ef 00 3c| ..v...<| random: raw bits 0x609-0xc00.7 (1528)
0x610|00 6d 00 d2 00 fb 00 b8 00 19 00 6e 00 47 00 74|.m.........n.G.t|
* |until 0xc00.7 (1528) | |
| | | messages[0:5]: 0xc01-NA (0)
| | | [0]{}: message 0x0-0xe0.7 (225)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 63 6f 6e 6e 65 63 74 | connect | value: "connect" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
| | | messages[0:5]: 0xc01-NA (0)
| | | [0]{}: message 0x0-0xe0.7 (225)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 63 6f 6e 6e 65 63 74 | connect | value: "connect" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
0x10|00 00 00 |... |
| | | command_object{}: (amf0) 0x13-0xe0.7 (206)
0x10| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:10]: 0x14-0xe0.7 (205)
| | | [0]{}: pair 0x14-0x28.7 (21)
| | | key{}: 0x14-0x18.7 (5)
0x10| 00 03 | .. | length: 3 0x14-0x15.7 (2)
0x10| 61 70 70 | app | value: "app" 0x16-0x18.7 (3)
| | | value{}: 0x19-0x28.7 (16)
0x10| 02 | . | type: "string" (2) 0x19-0x19.7 (1)
0x10| 00 0d | .. | length: 13 0x1a-0x1b.7 (2)
0x10| 53 74 72 65| Stre| value: "StreamPlayer/" 0x1c-0x28.7 (13)
| | | command_object{}: (amf0) 0x13-0xe0.7 (206)
0x10| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:10]: 0x14-0xe0.7 (205)
| | | [0]{}: pair 0x14-0x28.7 (21)
| | | key{}: 0x14-0x18.7 (5)
0x10| 00 03 | .. | length: 3 0x14-0x15.7 (2)
0x10| 61 70 70 | app | value: "app" 0x16-0x18.7 (3)
| | | value{}: 0x19-0x28.7 (16)
0x10| 02 | . | type: "string" (2) 0x19-0x19.7 (1)
0x10| 00 0d | .. | length: 13 0x1a-0x1b.7 (2)
0x10| 53 74 72 65| Stre| value: "StreamPlayer/" 0x1c-0x28.7 (13)
0x20|61 6d 50 6c 61 79 65 72 2f |amPlayer/ |
| | | [1]{}: pair 0x29-0x41.7 (25)
| | | key{}: 0x29-0x32.7 (10)
0x20| 00 08 | .. | length: 8 0x29-0x2a.7 (2)
0x20| 66 6c 61 73 68| flash| value: "flashVer" 0x2b-0x32.7 (8)
| | | [1]{}: pair 0x29-0x41.7 (25)
| | | key{}: 0x29-0x32.7 (10)
0x20| 00 08 | .. | length: 8 0x29-0x2a.7 (2)
0x20| 66 6c 61 73 68| flash| value: "flashVer" 0x2b-0x32.7 (8)
0x30|56 65 72 |Ver |
| | | value{}: 0x33-0x41.7 (15)
0x30| 02 | . | type: "string" (2) 0x33-0x33.7 (1)
0x30| 00 0c | .. | length: 12 0x34-0x35.7 (2)
0x30| 57 49 4e 20 39 2c 30 2c 34 37| WIN 9,0,47| value: "WIN 9,0,47,0" 0x36-0x41.7 (12)
| | | value{}: 0x33-0x41.7 (15)
0x30| 02 | . | type: "string" (2) 0x33-0x33.7 (1)
0x30| 00 0c | .. | length: 12 0x34-0x35.7 (2)
0x30| 57 49 4e 20 39 2c 30 2c 34 37| WIN 9,0,47| value: "WIN 9,0,47,0" 0x36-0x41.7 (12)
0x40|2c 30 |,0 |
| | | [2]{}: pair 0x42-0x53.7 (18)
| | | key{}: 0x42-0x49.7 (8)
0x40| 00 06 | .. | length: 6 0x42-0x43.7 (2)
0x40| 73 77 66 55 72 6c | swfUrl | value: "swfUrl" 0x44-0x49.7 (6)
| | | value{}: 0x4a-0x53.7 (10)
0x40| 02 | . | type: "string" (2) 0x4a-0x4a.7 (1)
0x40| 00 07 | .. | length: 7 0x4b-0x4c.7 (2)
0x40| 66 69 6c| fil| value: "file://" 0x4d-0x53.7 (7)
| | | [2]{}: pair 0x42-0x53.7 (18)
| | | key{}: 0x42-0x49.7 (8)
0x40| 00 06 | .. | length: 6 0x42-0x43.7 (2)
0x40| 73 77 66 55 72 6c | swfUrl | value: "swfUrl" 0x44-0x49.7 (6)
| | | value{}: 0x4a-0x53.7 (10)
0x40| 02 | . | type: "string" (2) 0x4a-0x4a.7 (1)
0x40| 00 07 | .. | length: 7 0x4b-0x4c.7 (2)
0x40| 66 69 6c| fil| value: "file://" 0x4d-0x53.7 (7)
0x50|65 3a 2f 2f |e:// |
| | | [3]{}: pair 0x54-0x87.7 (52)
| | | key{}: 0x54-0x5a.7 (7)
0x50| 00 05 | .. | length: 5 0x54-0x55.7 (2)
0x50| 74 63 55 72 6c | tcUrl | value: "tcUrl" 0x56-0x5a.7 (5)
| | | value{}: 0x5b-0x87.7 (45)
0x50| 02 | . | type: "string" (2) 0x5b-0x5b.7 (1)
0x50| 00 2a | .* | length: 42 0x5c-0x5d.7 (2)
0x50| 72 74| rt| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x5e-0x87.7 (42)
| | | [3]{}: pair 0x54-0x87.7 (52)
| | | key{}: 0x54-0x5a.7 (7)
0x50| 00 05 | .. | length: 5 0x54-0x55.7 (2)
0x50| 74 63 55 72 6c | tcUrl | value: "tcUrl" 0x56-0x5a.7 (5)
| | | value{}: 0x5b-0x87.7 (45)
0x50| 02 | . | type: "string" (2) 0x5b-0x5b.7 (1)
0x50| 00 2a | .* | length: 42 0x5c-0x5d.7 (2)
0x50| 72 74| rt| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x5e-0x87.7 (42)
0x60|6d 70 3a 2f 2f 66 63 34 33 32 2e 73 74 72 65 61|mp://fc432.strea|
* |until 0x87.7 (42) | |
| | | [4]{}: pair 0x88-0x8f.7 (8)
| | | key{}: 0x88-0x8d.7 (6)
0x80| 00 04 | .. | length: 4 0x88-0x89.7 (2)
0x80| 66 70 61 64 | fpad | value: "fpad" 0x8a-0x8d.7 (4)
| | | value{}: 0x8e-0x8f.7 (2)
0x80| 01 | . | type: "boolean" (1) 0x8e-0x8e.7 (1)
0x80| 00| .| value: 0 0x8f-0x8f.7 (1)
| | | [5]{}: pair 0x90-0xa5.7 (22)
| | | key{}: 0x90-0x9c.7 (13)
0x90|00 0b |.. | length: 11 0x90-0x91.7 (2)
0x90| 61 75 64 69 6f 43 6f 64 65 63 73 | audioCodecs | value: "audioCodecs" 0x92-0x9c.7 (11)
| | | value{}: 0x9d-0xa5.7 (9)
0x90| 00 | . | type: "number" (0) 0x9d-0x9d.7 (1)
0x90| 40 83| @.| value: 615 0x9e-0xa5.7 (8)
| | | [4]{}: pair 0x88-0x8f.7 (8)
| | | key{}: 0x88-0x8d.7 (6)
0x80| 00 04 | .. | length: 4 0x88-0x89.7 (2)
0x80| 66 70 61 64 | fpad | value: "fpad" 0x8a-0x8d.7 (4)
| | | value{}: 0x8e-0x8f.7 (2)
0x80| 01 | . | type: "boolean" (1) 0x8e-0x8e.7 (1)
0x80| 00| .| value: 0 0x8f-0x8f.7 (1)
| | | [5]{}: pair 0x90-0xa5.7 (22)
| | | key{}: 0x90-0x9c.7 (13)
0x90|00 0b |.. | length: 11 0x90-0x91.7 (2)
0x90| 61 75 64 69 6f 43 6f 64 65 63 73 | audioCodecs | value: "audioCodecs" 0x92-0x9c.7 (11)
| | | value{}: 0x9d-0xa5.7 (9)
0x90| 00 | . | type: "number" (0) 0x9d-0x9d.7 (1)
0x90| 40 83| @.| value: 615 0x9e-0xa5.7 (8)
0xa0|38 00 00 00 00 00 |8..... |
| | | [6]{}: pair 0xa6-0xbb.7 (22)
| | | key{}: 0xa6-0xb2.7 (13)
0xa0| 00 0b | .. | length: 11 0xa6-0xa7.7 (2)
0xa0| 76 69 64 65 6f 43 6f 64| videoCod| value: "videoCodecs" 0xa8-0xb2.7 (11)
| | | [6]{}: pair 0xa6-0xbb.7 (22)
| | | key{}: 0xa6-0xb2.7 (13)
0xa0| 00 0b | .. | length: 11 0xa6-0xa7.7 (2)
0xa0| 76 69 64 65 6f 43 6f 64| videoCod| value: "videoCodecs" 0xa8-0xb2.7 (11)
0xb0|65 63 73 |ecs |
| | | value{}: 0xb3-0xbb.7 (9)
0xb0| 00 | . | type: "number" (0) 0xb3-0xb3.7 (1)
0xb0| 40 5f 00 00 00 00 00 00 | @_...... | value: 124 0xb4-0xbb.7 (8)
| | | [7]{}: pair 0xbc-0xd3.7 (24)
| | | key{}: 0xbc-0xca.7 (15)
0xb0| 00 0d | .. | length: 13 0xbc-0xbd.7 (2)
0xb0| 76 69| vi| value: "videoFunction" 0xbe-0xca.7 (13)
| | | value{}: 0xb3-0xbb.7 (9)
0xb0| 00 | . | type: "number" (0) 0xb3-0xb3.7 (1)
0xb0| 40 5f 00 00 00 00 00 00 | @_...... | value: 124 0xb4-0xbb.7 (8)
| | | [7]{}: pair 0xbc-0xd3.7 (24)
| | | key{}: 0xbc-0xca.7 (15)
0xb0| 00 0d | .. | length: 13 0xbc-0xbd.7 (2)
0xb0| 76 69| vi| value: "videoFunction" 0xbe-0xca.7 (13)
0xc0|64 65 6f 46 75 6e 63 74 69 6f 6e |deoFunction |
| | | value{}: 0xcb-0xd3.7 (9)
0xc0| 00 | . | type: "number" (0) 0xcb-0xcb.7 (1)
0xc0| 3f f0 00 00| ?...| value: 1 0xcc-0xd3.7 (8)
| | | value{}: 0xcb-0xd3.7 (9)
0xc0| 00 | . | type: "number" (0) 0xcb-0xcb.7 (1)
0xc0| 3f f0 00 00| ?...| value: 1 0xcc-0xd3.7 (8)
0xd0|00 00 00 00 |.... |
| | | [8]{}: pair 0xd4-0xdd.7 (10)
| | | key{}: 0xd4-0xdc.7 (9)
0xd0| 00 07 | .. | length: 7 0xd4-0xd5.7 (2)
0xd0| 70 61 67 65 55 72 6c | pageUrl | value: "pageUrl" 0xd6-0xdc.7 (7)
| | | value{}: 0xdd-0xdd.7 (1)
0xd0| 06 | . | type: "undefined" (6) 0xdd-0xdd.7 (1)
| | | value: null 0xde-NA (0)
| | | [9]{}: pair 0xde-0xe0.7 (3)
| | | key{}: 0xde-0xdf.7 (2)
0xd0| 00 00| ..| length: 0 0xde-0xdf.7 (2)
| | | value: "" 0xe0-NA (0)
| | | value{}: 0xe0-0xe0.7 (1)
0xe0|09| |.| | type: "object_end" (9) 0xe0-0xe0.7 (1)
| | | arguments[0:0]: 0xe1-NA (0)
| | | [1]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00|00 14 00 00| |....| | window_size: 1310720 0x0-0x3.7 (4)
| | | [2]{}: message 0x0-0x18.7 (25)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 0c | .. | length: 12 0x1-0x2.7 (2)
0x00| 63 72 65 61 74 65 53 74 72 65 61 6d | createStream | value: "createStream" 0x3-0xe.7 (12)
| | | transaction_id{}: (amf0) 0xf-0x17.7 (9)
0x00| 00| .| type: "number" (0) 0xf-0xf.7 (1)
0x10|40 00 00 00 00 00 00 00 |@....... | value: 2 0x10-0x17.7 (8)
| | | command_object{}: (amf0) 0x18-0x18.7 (1)
0x10| 05| | .| | type: "null" (5) 0x18-0x18.7 (1)
| | | value: null 0x19-NA (0)
| | | arguments[0:0]: 0x19-NA (0)
| | | [3]{}: message 0x0-0x3d.7 (62)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x6.7 (7)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 04 | .. | length: 4 0x1-0x2.7 (2)
0x00| 70 6c 61 79 | play | value: "play" 0x3-0x6.7 (4)
| | | transaction_id{}: (amf0) 0x7-0xf.7 (9)
0x00| 00 | . | type: "number" (0) 0x7-0x7.7 (1)
0x00| 00 00 00 00 00 00 00 00| ........| value: 0 0x8-0xf.7 (8)
| | | command_object{}: (amf0) 0x10-0x10.7 (1)
0x10|05 |. | type: "null" (5) 0x10-0x10.7 (1)
| | | value: null 0x11-NA (0)
| | | arguments[0:1]: 0x11-0x3d.7 (45)
| | | [0]{}: argument (amf0) 0x11-0x3d.7 (45)
0x10| 02 | . | type: "string" (2) 0x11-0x11.7 (1)
0x10| 00 2a | .* | length: 42 0x12-0x13.7 (2)
0x10| 72 74 6d 70 3a 2f 2f 66 63 34 33 32| rtmp://fc432| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x14-0x3d.7 (42)
| | | [8]{}: pair 0xd4-0xdd.7 (10)
| | | key{}: 0xd4-0xdc.7 (9)
0xd0| 00 07 | .. | length: 7 0xd4-0xd5.7 (2)
0xd0| 70 61 67 65 55 72 6c | pageUrl | value: "pageUrl" 0xd6-0xdc.7 (7)
| | | value{}: 0xdd-0xdd.7 (1)
0xd0| 06 | . | type: "undefined" (6) 0xdd-0xdd.7 (1)
| | | value: null 0xde-NA (0)
| | | [9]{}: pair 0xde-0xe0.7 (3)
| | | key{}: 0xde-0xdf.7 (2)
0xd0| 00 00| ..| length: 0 0xde-0xdf.7 (2)
| | | value: "" 0xe0-NA (0)
| | | value{}: 0xe0-0xe0.7 (1)
0xe0|09| |.| | type: "object_end" (9) 0xe0-0xe0.7 (1)
| | | arguments[0:0]: 0xe1-NA (0)
| | | [1]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00|00 14 00 00| |....| | window_size: 1310720 0x0-0x3.7 (4)
| | | [2]{}: message 0x0-0x18.7 (25)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 0c | .. | length: 12 0x1-0x2.7 (2)
0x00| 63 72 65 61 74 65 53 74 72 65 61 6d | createStream | value: "createStream" 0x3-0xe.7 (12)
| | | transaction_id{}: (amf0) 0xf-0x17.7 (9)
0x00| 00| .| type: "number" (0) 0xf-0xf.7 (1)
0x10|40 00 00 00 00 00 00 00 |@....... | value: 2 0x10-0x17.7 (8)
| | | command_object{}: (amf0) 0x18-0x18.7 (1)
0x10| 05| | .| | type: "null" (5) 0x18-0x18.7 (1)
| | | value: null 0x19-NA (0)
| | | arguments[0:0]: 0x19-NA (0)
| | | [3]{}: message 0x0-0x3d.7 (62)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x6.7 (7)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 04 | .. | length: 4 0x1-0x2.7 (2)
0x00| 70 6c 61 79 | play | value: "play" 0x3-0x6.7 (4)
| | | transaction_id{}: (amf0) 0x7-0xf.7 (9)
0x00| 00 | . | type: "number" (0) 0x7-0x7.7 (1)
0x00| 00 00 00 00 00 00 00 00| ........| value: 0 0x8-0xf.7 (8)
| | | command_object{}: (amf0) 0x10-0x10.7 (1)
0x10|05 |. | type: "null" (5) 0x10-0x10.7 (1)
| | | value: null 0x11-NA (0)
| | | arguments[0:1]: 0x11-0x3d.7 (45)
| | | [0]{}: argument (amf0) 0x11-0x3d.7 (45)
0x10| 02 | . | type: "string" (2) 0x11-0x11.7 (1)
0x10| 00 2a | .* | length: 42 0x12-0x13.7 (2)
0x10| 72 74 6d 70 3a 2f 2f 66 63 34 33 32| rtmp://fc432| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x14-0x3d.7 (42)
0x20|2e 73 74 72 65 61 6d 65 64 69 61 2e 69 6e 66 6f|.streamedia.info|
0x30|2f 53 74 72 65 61 6d 50 6c 61 79 65 72 2f| |/StreamPlayer/| |
| | | [4]{}: message 0x0-0x9.7 (10)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 03 |.. | type: "set_buffer_length" (3) 0x0-0x1.7 (2)
0x00| 00 00 00 01 | .... | stream_id: 1 0x2-0x5.7 (4)
0x00| 00 00 00 00| | ....| | length: 0 0x6-0x9.7 (4)
| | | chunks[0:6]: 0xc01-0xd7b.7 (379)
| | | [0]{}: chunk 0xc01-0xc8c.7 (140)
0xc00| 03 | . | fmt: 0 0xc01-0xc01.1 (0.2)
0xc00| 03 | . | chunk_stream_id: 3 0xc01.2-0xc01.7 (0.6)
0xc00| 00 00 01 | ... | timestamp: 1 0xc02-0xc04.7 (3)
0xc00| 00 00 e1 | ... | message_length: 225 0xc05-0xc07.7 (3)
0xc00| 14 | . | message_type_id: "command_message" (20) 0xc08-0xc08.7 (1)
0xc00| 00 00 00 00 | .... | message_stream_id: 0 0xc09-0xc0c.7 (4)
| | | calculated_timestamp: 1 0xc0d-NA (0)
0xc00| 02 00 07| ...| data: raw bits 0xc0d-0xc8c.7 (128)
| | | [4]{}: message 0x0-0x9.7 (10)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 03 |.. | type: "set_buffer_length" (3) 0x0-0x1.7 (2)
0x00| 00 00 00 01 | .... | stream_id: 1 0x2-0x5.7 (4)
0x00| 00 00 00 00| | ....| | length: 0 0x6-0x9.7 (4)
| | | chunks[0:6]: 0xc01-0xd7b.7 (379)
| | | [0]{}: chunk 0xc01-0xc8c.7 (140)
0xc00| 03 | . | fmt: 0 0xc01-0xc01.1 (0.2)
0xc00| 03 | . | chunk_stream_id: 3 0xc01.2-0xc01.7 (0.6)
0xc00| 00 00 01 | ... | timestamp: 1 0xc02-0xc04.7 (3)
0xc00| 00 00 e1 | ... | message_length: 225 0xc05-0xc07.7 (3)
0xc00| 14 | . | message_type_id: "command_message" (20) 0xc08-0xc08.7 (1)
0xc00| 00 00 00 00 | .... | message_stream_id: 0 0xc09-0xc0c.7 (4)
| | | calculated_timestamp: 1 0xc0d-NA (0)
0xc00| 02 00 07| ...| data: raw bits 0xc0d-0xc8c.7 (128)
0xc10|63 6f 6e 6e 65 63 74 00 3f f0 00 00 00 00 00 00|connect.?.......|
* |until 0xc8c.7 (128) | |
| | | [1]{}: chunk 0xc8d-0xcee.7 (98)
0xc80| c3 | . | fmt: 3 0xc8d-0xc8d.1 (0.2)
0xc80| c3 | . | chunk_stream_id: 3 0xc8d.2-0xc8d.7 (0.6)
| | | message_length: 225 (previous) 0xc8e-NA (0)
| | | message_type_id: 20 (previous) 0xc8e-NA (0)
| | | message_stream_id: 0 (previous) 0xc8e-NA (0)
| | | calculated_timestamp: 1 0xc8e-NA (0)
0xc80| 6d 50| mP| data: raw bits 0xc8e-0xcee.7 (97)
| | | [1]{}: chunk 0xc8d-0xcee.7 (98)
0xc80| c3 | . | fmt: 3 0xc8d-0xc8d.1 (0.2)
0xc80| c3 | . | chunk_stream_id: 3 0xc8d.2-0xc8d.7 (0.6)
| | | message_length: 225 (previous) 0xc8e-NA (0)
| | | message_type_id: 20 (previous) 0xc8e-NA (0)
| | | message_stream_id: 0 (previous) 0xc8e-NA (0)
| | | calculated_timestamp: 1 0xc8e-NA (0)
0xc80| 6d 50| mP| data: raw bits 0xc8e-0xcee.7 (97)
0xc90|6c 61 79 65 72 2f 00 04 66 70 61 64 01 00 00 0b|layer/..fpad....|
* |until 0xcee.7 (97) | |
| | | [2]{}: chunk 0xcef-0xcfe.7 (16)
0xce0| 02| .| fmt: 0 0xcef-0xcef.1 (0.2)
0xce0| 02| .| chunk_stream_id: 2 0xcef.2-0xcef.7 (0.6)
0xcf0|f8 56 3f |.V? | timestamp: 16275007 0xcf0-0xcf2.7 (3)
0xcf0| 00 00 04 | ... | message_length: 4 0xcf3-0xcf5.7 (3)
0xcf0| 05 | . | message_type_id: "window_acknowledgement_size" (5) 0xcf6-0xcf6.7 (1)
0xcf0| 00 00 00 00 | .... | message_stream_id: 0 0xcf7-0xcfa.7 (4)
| | | calculated_timestamp: 16275007 0xcfb-NA (0)
0xcf0| 00 14 00 00 | .... | data: raw bits 0xcfb-0xcfe.7 (4)
| | | [3]{}: chunk 0xcff-0xd1f.7 (33)
0xcf0| 43| C| fmt: 1 0xcff-0xcff.1 (0.2)
0xcf0| 43| C| chunk_stream_id: 3 0xcff.2-0xcff.7 (0.6)
0xd00|00 00 00 |... | timestamp_delta: 0 0xd00-0xd02.7 (3)
0xd00| 00 00 19 | ... | message_length: 25 0xd03-0xd05.7 (3)
0xd00| 14 | . | message_type_id: "command_message" (20) 0xd06-0xd06.7 (1)
| | | message_stream_id: 0 (previous) 0xd07-NA (0)
| | | calculated_timestamp: 1 0xd07-NA (0)
0xd00| 02 00 0c 63 72 65 61 74 65| ...create| data: raw bits 0xd07-0xd1f.7 (25)
| | | [2]{}: chunk 0xcef-0xcfe.7 (16)
0xce0| 02| .| fmt: 0 0xcef-0xcef.1 (0.2)
0xce0| 02| .| chunk_stream_id: 2 0xcef.2-0xcef.7 (0.6)
0xcf0|f8 56 3f |.V? | timestamp: 16275007 0xcf0-0xcf2.7 (3)
0xcf0| 00 00 04 | ... | message_length: 4 0xcf3-0xcf5.7 (3)
0xcf0| 05 | . | message_type_id: "window_acknowledgement_size" (5) 0xcf6-0xcf6.7 (1)
0xcf0| 00 00 00 00 | .... | message_stream_id: 0 0xcf7-0xcfa.7 (4)
| | | calculated_timestamp: 16275007 0xcfb-NA (0)
0xcf0| 00 14 00 00 | .... | data: raw bits 0xcfb-0xcfe.7 (4)
| | | [3]{}: chunk 0xcff-0xd1f.7 (33)
0xcf0| 43| C| fmt: 1 0xcff-0xcff.1 (0.2)
0xcf0| 43| C| chunk_stream_id: 3 0xcff.2-0xcff.7 (0.6)
0xd00|00 00 00 |... | timestamp_delta: 0 0xd00-0xd02.7 (3)
0xd00| 00 00 19 | ... | message_length: 25 0xd03-0xd05.7 (3)
0xd00| 14 | . | message_type_id: "command_message" (20) 0xd06-0xd06.7 (1)
| | | message_stream_id: 0 (previous) 0xd07-NA (0)
| | | calculated_timestamp: 1 0xd07-NA (0)
0xd00| 02 00 0c 63 72 65 61 74 65| ...create| data: raw bits 0xd07-0xd1f.7 (25)
0xd10|53 74 72 65 61 6d 00 40 00 00 00 00 00 00 00 05|Stream.@........|
| | | [4]{}: chunk 0xd20-0xd69.7 (74)
0xd20|08 |. | fmt: 0 0xd20-0xd20.1 (0.2)
0xd20|08 |. | chunk_stream_id: 8 0xd20.2-0xd20.7 (0.6)
0xd20| 00 00 01 | ... | timestamp: 1 0xd21-0xd23.7 (3)
0xd20| 00 00 3e | ..> | message_length: 62 0xd24-0xd26.7 (3)
0xd20| 14 | . | message_type_id: "command_message" (20) 0xd27-0xd27.7 (1)
0xd20| 01 00 00 00 | .... | message_stream_id: 1 0xd28-0xd2b.7 (4)
| | | calculated_timestamp: 1 0xd2c-NA (0)
0xd20| 02 00 04 70| ...p| data: raw bits 0xd2c-0xd69.7 (62)
| | | [4]{}: chunk 0xd20-0xd69.7 (74)
0xd20|08 |. | fmt: 0 0xd20-0xd20.1 (0.2)
0xd20|08 |. | chunk_stream_id: 8 0xd20.2-0xd20.7 (0.6)
0xd20| 00 00 01 | ... | timestamp: 1 0xd21-0xd23.7 (3)
0xd20| 00 00 3e | ..> | message_length: 62 0xd24-0xd26.7 (3)
0xd20| 14 | . | message_type_id: "command_message" (20) 0xd27-0xd27.7 (1)
0xd20| 01 00 00 00 | .... | message_stream_id: 1 0xd28-0xd2b.7 (4)
| | | calculated_timestamp: 1 0xd2c-NA (0)
0xd20| 02 00 04 70| ...p| data: raw bits 0xd2c-0xd69.7 (62)
0xd30|6c 61 79 00 00 00 00 00 00 00 00 00 05 02 00 2a|lay............*|
* |until 0xd69.7 (62) | |
| | | [5]{}: chunk 0xd6a-0xd7b.7 (18)
0xd60| 42 | B | fmt: 1 0xd6a-0xd6a.1 (0.2)
0xd60| 42 | B | chunk_stream_id: 2 0xd6a.2-0xd6a.7 (0.6)
0xd60| 00 00 00 | ... | timestamp_delta: 0 0xd6b-0xd6d.7 (3)
0xd60| 00 00| ..| message_length: 10 0xd6e-0xd70.7 (3)
| | | [5]{}: chunk 0xd6a-0xd7b.7 (18)
0xd60| 42 | B | fmt: 1 0xd6a-0xd6a.1 (0.2)
0xd60| 42 | B | chunk_stream_id: 2 0xd6a.2-0xd6a.7 (0.6)
0xd60| 00 00 00 | ... | timestamp_delta: 0 0xd6b-0xd6d.7 (3)
0xd60| 00 00| ..| message_length: 10 0xd6e-0xd70.7 (3)
0xd70|0a |. |
0xd70| 04 | . | message_type_id: "user_control_message" (4) 0xd71-0xd71.7 (1)
| | | message_stream_id: 0 (previous) 0xd72-NA (0)
| | | calculated_timestamp: 16275007 0xd72-NA (0)
0xd70| 00 03 00 00 00 01 00 00 00 00| | ..........| | data: raw bits 0xd72-0xd7b.7 (10)
| | | server_stream{}: (rtmp) 0x0-0xda7.7 (3496)
| | | handshake{}: 0x0-0xc00.7 (3073)
| | | s0{}: 0x0-0x0.7 (1)
0x000|03 |. | version: 3 0x0-0x0.7 (1)
| | | s1{}: 0x1-0x600.7 (1536)
0x000| 3d d5 b7 00 | =... | time: 1037416192 0x1-0x4.7 (4)
0x000| 00 00 00 00 | .... | zero: 0 0x5-0x8.7 (4)
0x000| 01 00 76 00 ef 00 3c| ..v...<| random: raw bits 0x9-0x600.7 (1528)
0xd70| 04 | . | message_type_id: "user_control_message" (4) 0xd71-0xd71.7 (1)
| | | message_stream_id: 0 (previous) 0xd72-NA (0)
| | | calculated_timestamp: 16275007 0xd72-NA (0)
0xd70| 00 03 00 00 00 01 00 00 00 00| | ..........| | data: raw bits 0xd72-0xd7b.7 (10)
| | | server{}: 0x2268-NA (0)
| | | ip: "192.168.43.128" 0x2268-NA (0)
| | | port: "rtmp" (1935) (Real-Time Messaging Protocol) 0x2268-NA (0)
| | | has_start: true 0x2268-NA (0)
| | | has_end: false 0x2268-NA (0)
| | | skipped_bytes: 0 0x2268-NA (0)
| | | stream{}: (rtmp) 0x0-0xda7.7 (3496)
| | | handshake{}: 0x0-0xc00.7 (3073)
| | | s0{}: 0x0-0x0.7 (1)
0x000|03 |. | version: 3 0x0-0x0.7 (1)
| | | s1{}: 0x1-0x600.7 (1536)
0x000| 3d d5 b7 00 | =... | time: 1037416192 0x1-0x4.7 (4)
0x000| 00 00 00 00 | .... | zero: 0 0x5-0x8.7 (4)
0x000| 01 00 76 00 ef 00 3c| ..v...<| random: raw bits 0x9-0x600.7 (1528)
0x010|00 6d 00 d2 00 fb 00 b8 00 19 00 6e 00 47 00 74|.m.........n.G.t|
* |until 0x600.7 (1528) | |
| | | s2{}: 0x601-0xc00.7 (1536)
0x600| 00 07 aa 57 | ...W | time: 502359 0x601-0x604.7 (4)
0x600| 00 00 00 37 | ...7 | time2: 55 0x605-0x608.7 (4)
0x600| c4 ff 95 ff 1a ff e3| .......| random: raw bits 0x609-0xc00.7 (1528)
| | | s2{}: 0x601-0xc00.7 (1536)
0x600| 00 07 aa 57 | ...W | time: 502359 0x601-0x604.7 (4)
0x600| 00 00 00 37 | ...7 | time2: 55 0x605-0x608.7 (4)
0x600| c4 ff 95 ff 1a ff e3| .......| random: raw bits 0x609-0xc00.7 (1528)
0x610|ff c0 00 c1 00 36 00 af 00 fc 00 2d 00 92 ff bb|.....6.....-....|
* |until 0xc00.7 (1528) | |
| | | messages[0:8]: 0xc01-NA (0)
| | | [0]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00|00 14 00 00| |....| | window_size: 1310720 0x0-0x3.7 (4)
| | | [1]{}: message 0x0-0x4.7 (5)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_peer_bandwidth" (6) 0x0-NA (0)
0x00|00 14 00 00 |.... | chunk_size: 1310720 0x0-0x3.7 (4)
0x00| 02| | .| | limit_type: "dynamic" (2) 0x4-0x4.7 (1)
| | | [2]{}: message 0x0-0xd.7 (14)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 08 |.. | type: 8 0x0-0x1.7 (2)
0x00| 00 00 00 00 00 00 00 01 07 e9 34 b0| | ..........4.| | data: raw bits 0x2-0xd.7 (12)
| | | [3]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00| 00 00 00 00| | ....| | stream_id: 0 0x2-0x5.7 (4)
| | | [4]{}: message 0x0-0x72.7 (115)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
| | | messages[0:8]: 0xc01-NA (0)
| | | [0]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00|00 14 00 00| |....| | window_size: 1310720 0x0-0x3.7 (4)
| | | [1]{}: message 0x0-0x4.7 (5)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_peer_bandwidth" (6) 0x0-NA (0)
0x00|00 14 00 00 |.... | chunk_size: 1310720 0x0-0x3.7 (4)
0x00| 02| | .| | limit_type: "dynamic" (2) 0x4-0x4.7 (1)
| | | [2]{}: message 0x0-0xd.7 (14)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 08 |.. | type: 8 0x0-0x1.7 (2)
0x00| 00 00 00 00 00 00 00 01 07 e9 34 b0| | ..........4.| | data: raw bits 0x2-0xd.7 (12)
| | | [3]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00| 00 00 00 00| | ....| | stream_id: 0 0x2-0x5.7 (4)
| | | [4]{}: message 0x0-0x72.7 (115)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
0x10|00 00 00 |... |
| | | command_object{}: (amf0) 0x13-0x13.7 (1)
0x10| 05 | . | type: "null" (5) 0x13-0x13.7 (1)
| | | value: null 0x14-NA (0)
| | | arguments[0:1]: 0x14-0x72.7 (95)
| | | [0]{}: argument (amf0) 0x14-0x72.7 (95)
0x10| 03 | . | type: "object" (3) 0x14-0x14.7 (1)
| | | value[0:4]: 0x15-0x72.7 (94)
| | | [0]{}: pair 0x15-0x24.7 (16)
| | | key{}: 0x15-0x1b.7 (7)
0x10| 00 05 | .. | length: 5 0x15-0x16.7 (2)
0x10| 6c 65 76 65 6c | level | value: "level" 0x17-0x1b.7 (5)
| | | value{}: 0x1c-0x24.7 (9)
0x10| 02 | . | type: "string" (2) 0x1c-0x1c.7 (1)
0x10| 00 06 | .. | length: 6 0x1d-0x1e.7 (2)
0x10| 73| s| value: "status" 0x1f-0x24.7 (6)
| | | command_object{}: (amf0) 0x13-0x13.7 (1)
0x10| 05 | . | type: "null" (5) 0x13-0x13.7 (1)
| | | value: null 0x14-NA (0)
| | | arguments[0:1]: 0x14-0x72.7 (95)
| | | [0]{}: argument (amf0) 0x14-0x72.7 (95)
0x10| 03 | . | type: "object" (3) 0x14-0x14.7 (1)
| | | value[0:4]: 0x15-0x72.7 (94)
| | | [0]{}: pair 0x15-0x24.7 (16)
| | | key{}: 0x15-0x1b.7 (7)
0x10| 00 05 | .. | length: 5 0x15-0x16.7 (2)
0x10| 6c 65 76 65 6c | level | value: "level" 0x17-0x1b.7 (5)
| | | value{}: 0x1c-0x24.7 (9)
0x10| 02 | . | type: "string" (2) 0x1c-0x1c.7 (1)
0x10| 00 06 | .. | length: 6 0x1d-0x1e.7 (2)
0x10| 73| s| value: "status" 0x1f-0x24.7 (6)
0x20|74 61 74 75 73 |tatus |
| | | [1]{}: pair 0x25-0x4a.7 (38)
| | | key{}: 0x25-0x2a.7 (6)
0x20| 00 04 | .. | length: 4 0x25-0x26.7 (2)
0x20| 63 6f 64 65 | code | value: "code" 0x27-0x2a.7 (4)
| | | value{}: 0x2b-0x4a.7 (32)
0x20| 02 | . | type: "string" (2) 0x2b-0x2b.7 (1)
0x20| 00 1d | .. | length: 29 0x2c-0x2d.7 (2)
0x20| 4e 65| Ne| value: "NetConnection.Connect.Success" 0x2e-0x4a.7 (29)
| | | [1]{}: pair 0x25-0x4a.7 (38)
| | | key{}: 0x25-0x2a.7 (6)
0x20| 00 04 | .. | length: 4 0x25-0x26.7 (2)
0x20| 63 6f 64 65 | code | value: "code" 0x27-0x2a.7 (4)
| | | value{}: 0x2b-0x4a.7 (32)
0x20| 02 | . | type: "string" (2) 0x2b-0x2b.7 (1)
0x20| 00 1d | .. | length: 29 0x2c-0x2d.7 (2)
0x20| 4e 65| Ne| value: "NetConnection.Connect.Success" 0x2e-0x4a.7 (29)
0x30|74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e|tConnection.Conn|
0x40|65 63 74 2e 53 75 63 63 65 73 73 |ect.Success |
| | | [2]{}: pair 0x4b-0x6f.7 (37)
| | | key{}: 0x4b-0x57.7 (13)
0x40| 00 0b | .. | length: 11 0x4b-0x4c.7 (2)
0x40| 64 65 73| des| value: "description" 0x4d-0x57.7 (11)
| | | [2]{}: pair 0x4b-0x6f.7 (37)
| | | key{}: 0x4b-0x57.7 (13)
0x40| 00 0b | .. | length: 11 0x4b-0x4c.7 (2)
0x40| 64 65 73| des| value: "description" 0x4d-0x57.7 (11)
0x50|63 72 69 70 74 69 6f 6e |cription |
| | | value{}: 0x58-0x6f.7 (24)
0x50| 02 | . | type: "string" (2) 0x58-0x58.7 (1)
0x50| 00 15 | .. | length: 21 0x59-0x5a.7 (2)
0x50| 43 6f 6e 6e 65| Conne| value: "Connection succeeded." 0x5b-0x6f.7 (21)
| | | value{}: 0x58-0x6f.7 (24)
0x50| 02 | . | type: "string" (2) 0x58-0x58.7 (1)
0x50| 00 15 | .. | length: 21 0x59-0x5a.7 (2)
0x50| 43 6f 6e 6e 65| Conne| value: "Connection succeeded." 0x5b-0x6f.7 (21)
0x60|63 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 2e|ction succeeded.|
| | | [3]{}: pair 0x70-0x72.7 (3)
| | | key{}: 0x70-0x71.7 (2)
0x70|00 00 |.. | length: 0 0x70-0x71.7 (2)
| | | value: "" 0x72-NA (0)
| | | value{}: 0x72-0x72.7 (1)
0x70| 09| | .| | type: "object_end" (9) 0x72-0x72.7 (1)
| | | [5]{}: message 0x0-0x1c.7 (29)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 40 00 00 00 00| @....| value: 2 0xb-0x12.7 (8)
| | | [3]{}: pair 0x70-0x72.7 (3)
| | | key{}: 0x70-0x71.7 (2)
0x70|00 00 |.. | length: 0 0x70-0x71.7 (2)
| | | value: "" 0x72-NA (0)
| | | value{}: 0x72-0x72.7 (1)
0x70| 09| | .| | type: "object_end" (9) 0x72-0x72.7 (1)
| | | [5]{}: message 0x0-0x1c.7 (29)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 40 00 00 00 00| @....| value: 2 0xb-0x12.7 (8)
0x10|00 00 00 |... |
| | | command_object{}: (amf0) 0x13-0x13.7 (1)
0x10| 05 | . | type: "null" (5) 0x13-0x13.7 (1)
| | | value: null 0x14-NA (0)
| | | arguments[0:1]: 0x14-0x1c.7 (9)
| | | [0]{}: argument (amf0) 0x14-0x1c.7 (9)
0x10| 00 | . | type: "number" (0) 0x14-0x14.7 (1)
0x10| 3f f0 00 00 00 00 00 00| | ?.......| | value: 1 0x15-0x1c.7 (8)
| | | [6]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
| | | [7]{}: message 0x0-0x92.7 (147)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x00| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x00| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
| | | command_object{}: (amf0) 0x13-0x13.7 (1)
0x10| 05 | . | type: "null" (5) 0x13-0x13.7 (1)
| | | value: null 0x14-NA (0)
| | | arguments[0:1]: 0x14-0x1c.7 (9)
| | | [0]{}: argument (amf0) 0x14-0x1c.7 (9)
0x10| 00 | . | type: "number" (0) 0x14-0x14.7 (1)
0x10| 3f f0 00 00 00 00 00 00| | ?.......| | value: 1 0x15-0x1c.7 (8)
| | | [6]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
| | | [7]{}: message 0x0-0x92.7 (147)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x00| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x00| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
0x10|00 00 00 00 |.... |
| | | command_object{}: (amf0) 0x14-0x14.7 (1)
0x10| 05 | . | type: "null" (5) 0x14-0x14.7 (1)
| | | value: null 0x15-NA (0)
| | | arguments[0:1]: 0x15-0x92.7 (126)
| | | [0]{}: argument (amf0) 0x15-0x92.7 (126)
0x10| 03 | . | type: "object" (3) 0x15-0x15.7 (1)
| | | value[0:5]: 0x16-0x92.7 (125)
| | | [0]{}: pair 0x16-0x24.7 (15)
| | | key{}: 0x16-0x1c.7 (7)
0x10| 00 05 | .. | length: 5 0x16-0x17.7 (2)
0x10| 6c 65 76 65 6c | level | value: "level" 0x18-0x1c.7 (5)
| | | value{}: 0x1d-0x24.7 (8)
0x10| 02 | . | type: "string" (2) 0x1d-0x1d.7 (1)
0x10| 00 05| ..| length: 5 0x1e-0x1f.7 (2)
0x20|65 72 72 6f 72 |error | value: "error" 0x20-0x24.7 (5)
| | | [1]{}: pair 0x25-0x42.7 (30)
| | | key{}: 0x25-0x2a.7 (6)
0x20| 00 04 | .. | length: 4 0x25-0x26.7 (2)
0x20| 63 6f 64 65 | code | value: "code" 0x27-0x2a.7 (4)
| | | value{}: 0x2b-0x42.7 (24)
0x20| 02 | . | type: "string" (2) 0x2b-0x2b.7 (1)
0x20| 00 15 | .. | length: 21 0x2c-0x2d.7 (2)
0x20| 4e 65| Ne| value: "NetStream.Play.Failed" 0x2e-0x42.7 (21)
| | | command_object{}: (amf0) 0x14-0x14.7 (1)
0x10| 05 | . | type: "null" (5) 0x14-0x14.7 (1)
| | | value: null 0x15-NA (0)
| | | arguments[0:1]: 0x15-0x92.7 (126)
| | | [0]{}: argument (amf0) 0x15-0x92.7 (126)
0x10| 03 | . | type: "object" (3) 0x15-0x15.7 (1)
| | | value[0:5]: 0x16-0x92.7 (125)
| | | [0]{}: pair 0x16-0x24.7 (15)
| | | key{}: 0x16-0x1c.7 (7)
0x10| 00 05 | .. | length: 5 0x16-0x17.7 (2)
0x10| 6c 65 76 65 6c | level | value: "level" 0x18-0x1c.7 (5)
| | | value{}: 0x1d-0x24.7 (8)
0x10| 02 | . | type: "string" (2) 0x1d-0x1d.7 (1)
0x10| 00 05| ..| length: 5 0x1e-0x1f.7 (2)
0x20|65 72 72 6f 72 |error | value: "error" 0x20-0x24.7 (5)
| | | [1]{}: pair 0x25-0x42.7 (30)
| | | key{}: 0x25-0x2a.7 (6)
0x20| 00 04 | .. | length: 4 0x25-0x26.7 (2)
0x20| 63 6f 64 65 | code | value: "code" 0x27-0x2a.7 (4)
| | | value{}: 0x2b-0x42.7 (24)
0x20| 02 | . | type: "string" (2) 0x2b-0x2b.7 (1)
0x20| 00 15 | .. | length: 21 0x2c-0x2d.7 (2)
0x20| 4e 65| Ne| value: "NetStream.Play.Failed" 0x2e-0x42.7 (21)
0x30|74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 46 61 69|tStream.Play.Fai|
0x40|6c 65 64 |led |
| | | [2]{}: pair 0x43-0x7c.7 (58)
| | | key{}: 0x43-0x4f.7 (13)
0x40| 00 0b | .. | length: 11 0x43-0x44.7 (2)
0x40| 64 65 73 63 72 69 70 74 69 6f 6e| description| value: "description" 0x45-0x4f.7 (11)
| | | value{}: 0x50-0x7c.7 (45)
0x50|02 |. | type: "string" (2) 0x50-0x50.7 (1)
0x50| 00 2a | .* | length: 42 0x51-0x52.7 (2)
0x50| 49 6e 76 61 6c 69 64 20 74 69 6e 63 61| Invalid tinca| value: "Invalid tincan object name (stream ID: 1)." 0x53-0x7c.7 (42)
| | | [2]{}: pair 0x43-0x7c.7 (58)
| | | key{}: 0x43-0x4f.7 (13)
0x40| 00 0b | .. | length: 11 0x43-0x44.7 (2)
0x40| 64 65 73 63 72 69 70 74 69 6f 6e| description| value: "description" 0x45-0x4f.7 (11)
| | | value{}: 0x50-0x7c.7 (45)
0x50|02 |. | type: "string" (2) 0x50-0x50.7 (1)
0x50| 00 2a | .* | length: 42 0x51-0x52.7 (2)
0x50| 49 6e 76 61 6c 69 64 20 74 69 6e 63 61| Invalid tinca| value: "Invalid tincan object name (stream ID: 1)." 0x53-0x7c.7 (42)
0x60|6e 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20 28 73|n object name (s|
0x70|74 72 65 61 6d 20 49 44 3a 20 31 29 2e |tream ID: 1). |
| | | [3]{}: pair 0x7d-0x8f.7 (19)
| | | key{}: 0x7d-0x86.7 (10)
0x70| 00 08 | .. | length: 8 0x7d-0x7e.7 (2)
0x70| 63| c| value: "clientid" 0x7f-0x86.7 (8)
| | | [3]{}: pair 0x7d-0x8f.7 (19)
| | | key{}: 0x7d-0x86.7 (10)
0x70| 00 08 | .. | length: 8 0x7d-0x7e.7 (2)
0x70| 63| c| value: "clientid" 0x7f-0x86.7 (8)
0x80|6c 69 65 6e 74 69 64 |lientid |
| | | value{}: 0x87-0x8f.7 (9)
0x80| 00 | . | type: "number" (0) 0x87-0x87.7 (1)
0x80| 41 9f a4 d2 c0 00 00 00| A.......| value: 1.32723888e+08 0x88-0x8f.7 (8)
| | | [4]{}: pair 0x90-0x92.7 (3)
| | | key{}: 0x90-0x91.7 (2)
0x90|00 00 |.. | length: 0 0x90-0x91.7 (2)
| | | value: "" 0x92-NA (0)
| | | value{}: 0x92-0x92.7 (1)
0x90| 09| | .| | type: "object_end" (9) 0x92-0x92.7 (1)
| | | chunks[0:9]: 0xc01-0xda7.7 (423)
| | | [0]{}: chunk 0xc01-0xc10.7 (16)
0xc00| 02 | . | fmt: 0 0xc01-0xc01.1 (0.2)
0xc00| 02 | . | chunk_stream_id: 2 0xc01.2-0xc01.7 (0.6)
0xc00| 00 00 00 | ... | timestamp: 0 0xc02-0xc04.7 (3)
0xc00| 00 00 04 | ... | message_length: 4 0xc05-0xc07.7 (3)
0xc00| 05 | . | message_type_id: "window_acknowledgement_size" (5) 0xc08-0xc08.7 (1)
0xc00| 00 00 00 00 | .... | message_stream_id: 0 0xc09-0xc0c.7 (4)
| | | calculated_timestamp: 0 0xc0d-NA (0)
0xc00| 00 14 00| ...| data: raw bits 0xc0d-0xc10.7 (4)
| | | value{}: 0x87-0x8f.7 (9)
0x80| 00 | . | type: "number" (0) 0x87-0x87.7 (1)
0x80| 41 9f a4 d2 c0 00 00 00| A.......| value: 1.32723888e+08 0x88-0x8f.7 (8)
| | | [4]{}: pair 0x90-0x92.7 (3)
| | | key{}: 0x90-0x91.7 (2)
0x90|00 00 |.. | length: 0 0x90-0x91.7 (2)
| | | value: "" 0x92-NA (0)
| | | value{}: 0x92-0x92.7 (1)
0x90| 09| | .| | type: "object_end" (9) 0x92-0x92.7 (1)
| | | chunks[0:9]: 0xc01-0xda7.7 (423)
| | | [0]{}: chunk 0xc01-0xc10.7 (16)
0xc00| 02 | . | fmt: 0 0xc01-0xc01.1 (0.2)
0xc00| 02 | . | chunk_stream_id: 2 0xc01.2-0xc01.7 (0.6)
0xc00| 00 00 00 | ... | timestamp: 0 0xc02-0xc04.7 (3)
0xc00| 00 00 04 | ... | message_length: 4 0xc05-0xc07.7 (3)
0xc00| 05 | . | message_type_id: "window_acknowledgement_size" (5) 0xc08-0xc08.7 (1)
0xc00| 00 00 00 00 | .... | message_stream_id: 0 0xc09-0xc0c.7 (4)
| | | calculated_timestamp: 0 0xc0d-NA (0)
0xc00| 00 14 00| ...| data: raw bits 0xc0d-0xc10.7 (4)
0xc10|00 |. |
| | | [1]{}: chunk 0xc11-0xc21.7 (17)
0xc10| 02 | . | fmt: 0 0xc11-0xc11.1 (0.2)
0xc10| 02 | . | chunk_stream_id: 2 0xc11.2-0xc11.7 (0.6)
0xc10| 00 00 00 | ... | timestamp: 0 0xc12-0xc14.7 (3)
0xc10| 00 00 05 | ... | message_length: 5 0xc15-0xc17.7 (3)
0xc10| 06 | . | message_type_id: "set_peer_bandwidth" (6) 0xc18-0xc18.7 (1)
0xc10| 00 00 00 00 | .... | message_stream_id: 0 0xc19-0xc1c.7 (4)
| | | calculated_timestamp: 0 0xc1d-NA (0)
0xc10| 00 14 00| ...| data: raw bits 0xc1d-0xc21.7 (5)
| | | [1]{}: chunk 0xc11-0xc21.7 (17)
0xc10| 02 | . | fmt: 0 0xc11-0xc11.1 (0.2)
0xc10| 02 | . | chunk_stream_id: 2 0xc11.2-0xc11.7 (0.6)
0xc10| 00 00 00 | ... | timestamp: 0 0xc12-0xc14.7 (3)
0xc10| 00 00 05 | ... | message_length: 5 0xc15-0xc17.7 (3)
0xc10| 06 | . | message_type_id: "set_peer_bandwidth" (6) 0xc18-0xc18.7 (1)
0xc10| 00 00 00 00 | .... | message_stream_id: 0 0xc19-0xc1c.7 (4)
| | | calculated_timestamp: 0 0xc1d-NA (0)
0xc10| 00 14 00| ...| data: raw bits 0xc1d-0xc21.7 (5)
0xc20|00 02 |.. |
| | | [2]{}: chunk 0xc22-0xc3b.7 (26)
0xc20| 02 | . | fmt: 0 0xc22-0xc22.1 (0.2)
0xc20| 02 | . | chunk_stream_id: 2 0xc22.2-0xc22.7 (0.6)
0xc20| 00 00 00 | ... | timestamp: 0 0xc23-0xc25.7 (3)
0xc20| 00 00 0e | ... | message_length: 14 0xc26-0xc28.7 (3)
0xc20| 04 | . | message_type_id: "user_control_message" (4) 0xc29-0xc29.7 (1)
0xc20| 00 00 00 00 | .... | message_stream_id: 0 0xc2a-0xc2d.7 (4)
| | | calculated_timestamp: 0 0xc2e-NA (0)
0xc20| 00 08| ..| data: raw bits 0xc2e-0xc3b.7 (14)
| | | [2]{}: chunk 0xc22-0xc3b.7 (26)
0xc20| 02 | . | fmt: 0 0xc22-0xc22.1 (0.2)
0xc20| 02 | . | chunk_stream_id: 2 0xc22.2-0xc22.7 (0.6)
0xc20| 00 00 00 | ... | timestamp: 0 0xc23-0xc25.7 (3)
0xc20| 00 00 0e | ... | message_length: 14 0xc26-0xc28.7 (3)
0xc20| 04 | . | message_type_id: "user_control_message" (4) 0xc29-0xc29.7 (1)
0xc20| 00 00 00 00 | .... | message_stream_id: 0 0xc2a-0xc2d.7 (4)
| | | calculated_timestamp: 0 0xc2e-NA (0)
0xc20| 00 08| ..| data: raw bits 0xc2e-0xc3b.7 (14)
0xc30|00 00 00 00 00 00 00 01 07 e9 34 b0 |..........4. |
| | | [3]{}: chunk 0xc3c-0xc4d.7 (18)
0xc30| 02 | . | fmt: 0 0xc3c-0xc3c.1 (0.2)
0xc30| 02 | . | chunk_stream_id: 2 0xc3c.2-0xc3c.7 (0.6)
0xc30| 00 00 00| ...| timestamp: 0 0xc3d-0xc3f.7 (3)
0xc40|00 00 06 |... | message_length: 6 0xc40-0xc42.7 (3)
0xc40| 04 | . | message_type_id: "user_control_message" (4) 0xc43-0xc43.7 (1)
0xc40| 00 00 00 00 | .... | message_stream_id: 0 0xc44-0xc47.7 (4)
| | | calculated_timestamp: 0 0xc48-NA (0)
0xc40| 00 00 00 00 00 00 | ...... | data: raw bits 0xc48-0xc4d.7 (6)
| | | [4]{}: chunk 0xc4e-0xccc.7 (127)
0xc40| 03 | . | fmt: 0 0xc4e-0xc4e.1 (0.2)
0xc40| 03 | . | chunk_stream_id: 3 0xc4e.2-0xc4e.7 (0.6)
0xc40| 00| .| timestamp: 0 0xc4f-0xc51.7 (3)
| | | [3]{}: chunk 0xc3c-0xc4d.7 (18)
0xc30| 02 | . | fmt: 0 0xc3c-0xc3c.1 (0.2)
0xc30| 02 | . | chunk_stream_id: 2 0xc3c.2-0xc3c.7 (0.6)
0xc30| 00 00 00| ...| timestamp: 0 0xc3d-0xc3f.7 (3)
0xc40|00 00 06 |... | message_length: 6 0xc40-0xc42.7 (3)
0xc40| 04 | . | message_type_id: "user_control_message" (4) 0xc43-0xc43.7 (1)
0xc40| 00 00 00 00 | .... | message_stream_id: 0 0xc44-0xc47.7 (4)
| | | calculated_timestamp: 0 0xc48-NA (0)
0xc40| 00 00 00 00 00 00 | ...... | data: raw bits 0xc48-0xc4d.7 (6)
| | | [4]{}: chunk 0xc4e-0xccc.7 (127)
0xc40| 03 | . | fmt: 0 0xc4e-0xc4e.1 (0.2)
0xc40| 03 | . | chunk_stream_id: 3 0xc4e.2-0xc4e.7 (0.6)
0xc40| 00| .| timestamp: 0 0xc4f-0xc51.7 (3)
0xc50|00 00 |.. |
0xc50| 00 00 73 | ..s | message_length: 115 0xc52-0xc54.7 (3)
0xc50| 14 | . | message_type_id: "command_message" (20) 0xc55-0xc55.7 (1)
0xc50| 00 00 00 00 | .... | message_stream_id: 0 0xc56-0xc59.7 (4)
| | | calculated_timestamp: 0 0xc5a-NA (0)
0xc50| 02 00 07 5f 72 65| ..._re| data: raw bits 0xc5a-0xccc.7 (115)
0xc50| 00 00 73 | ..s | message_length: 115 0xc52-0xc54.7 (3)
0xc50| 14 | . | message_type_id: "command_message" (20) 0xc55-0xc55.7 (1)
0xc50| 00 00 00 00 | .... | message_stream_id: 0 0xc56-0xc59.7 (4)
| | | calculated_timestamp: 0 0xc5a-NA (0)
0xc50| 02 00 07 5f 72 65| ..._re| data: raw bits 0xc5a-0xccc.7 (115)
0xc60|73 75 6c 74 00 3f f0 00 00 00 00 00 00 05 03 00|sult.?..........|
* |until 0xccc.7 (115) | |
| | | [5]{}: chunk 0xccd-0xcf5.7 (41)
0xcc0| 03 | . | fmt: 0 0xccd-0xccd.1 (0.2)
0xcc0| 03 | . | chunk_stream_id: 3 0xccd.2-0xccd.7 (0.6)
0xcc0| 00 00| ..| timestamp: 0 0xcce-0xcd0.7 (3)
| | | [5]{}: chunk 0xccd-0xcf5.7 (41)
0xcc0| 03 | . | fmt: 0 0xccd-0xccd.1 (0.2)
0xcc0| 03 | . | chunk_stream_id: 3 0xccd.2-0xccd.7 (0.6)
0xcc0| 00 00| ..| timestamp: 0 0xcce-0xcd0.7 (3)
0xcd0|00 |. |
0xcd0| 00 00 1d | ... | message_length: 29 0xcd1-0xcd3.7 (3)
0xcd0| 14 | . | message_type_id: "command_message" (20) 0xcd4-0xcd4.7 (1)
0xcd0| 00 00 00 00 | .... | message_stream_id: 0 0xcd5-0xcd8.7 (4)
| | | calculated_timestamp: 0 0xcd9-NA (0)
0xcd0| 02 00 07 5f 72 65 73| ..._res| data: raw bits 0xcd9-0xcf5.7 (29)
0xcd0| 00 00 1d | ... | message_length: 29 0xcd1-0xcd3.7 (3)
0xcd0| 14 | . | message_type_id: "command_message" (20) 0xcd4-0xcd4.7 (1)
0xcd0| 00 00 00 00 | .... | message_stream_id: 0 0xcd5-0xcd8.7 (4)
| | | calculated_timestamp: 0 0xcd9-NA (0)
0xcd0| 02 00 07 5f 72 65 73| ..._res| data: raw bits 0xcd9-0xcf5.7 (29)
0xce0|75 6c 74 00 40 00 00 00 00 00 00 00 05 00 3f f0|ult.@.........?.|
0xcf0|00 00 00 00 00 00 |...... |
| | | [6]{}: chunk 0xcf6-0xd07.7 (18)
0xcf0| 02 | . | fmt: 0 0xcf6-0xcf6.1 (0.2)
0xcf0| 02 | . | chunk_stream_id: 2 0xcf6.2-0xcf6.7 (0.6)
0xcf0| 00 00 00 | ... | timestamp: 0 0xcf7-0xcf9.7 (3)
0xcf0| 00 00 06 | ... | message_length: 6 0xcfa-0xcfc.7 (3)
0xcf0| 04 | . | message_type_id: "user_control_message" (4) 0xcfd-0xcfd.7 (1)
0xcf0| 00 00| ..| message_stream_id: 0 0xcfe-0xd01.7 (4)
| | | [6]{}: chunk 0xcf6-0xd07.7 (18)
0xcf0| 02 | . | fmt: 0 0xcf6-0xcf6.1 (0.2)
0xcf0| 02 | . | chunk_stream_id: 2 0xcf6.2-0xcf6.7 (0.6)
0xcf0| 00 00 00 | ... | timestamp: 0 0xcf7-0xcf9.7 (3)
0xcf0| 00 00 06 | ... | message_length: 6 0xcfa-0xcfc.7 (3)
0xcf0| 04 | . | message_type_id: "user_control_message" (4) 0xcfd-0xcfd.7 (1)
0xcf0| 00 00| ..| message_stream_id: 0 0xcfe-0xd01.7 (4)
0xd00|00 00 |.. |
| | | calculated_timestamp: 0 0xd02-NA (0)
0xd00| 00 00 00 00 00 01 | ...... | data: raw bits 0xd02-0xd07.7 (6)
| | | [7]{}: chunk 0xd08-0xd93.7 (140)
0xd00| 04 | . | fmt: 0 0xd08-0xd08.1 (0.2)
0xd00| 04 | . | chunk_stream_id: 4 0xd08.2-0xd08.7 (0.6)
0xd00| 00 00 00 | ... | timestamp: 0 0xd09-0xd0b.7 (3)
0xd00| 00 00 93 | ... | message_length: 147 0xd0c-0xd0e.7 (3)
0xd00| 14| .| message_type_id: "command_message" (20) 0xd0f-0xd0f.7 (1)
0xd10|01 00 00 00 |.... | message_stream_id: 1 0xd10-0xd13.7 (4)
| | | calculated_timestamp: 0 0xd14-NA (0)
0xd10| 02 00 08 6f 6e 53 74 61 74 75 73 00| ...onStatus.| data: raw bits 0xd14-0xd93.7 (128)
| | | calculated_timestamp: 0 0xd02-NA (0)
0xd00| 00 00 00 00 00 01 | ...... | data: raw bits 0xd02-0xd07.7 (6)
| | | [7]{}: chunk 0xd08-0xd93.7 (140)
0xd00| 04 | . | fmt: 0 0xd08-0xd08.1 (0.2)
0xd00| 04 | . | chunk_stream_id: 4 0xd08.2-0xd08.7 (0.6)
0xd00| 00 00 00 | ... | timestamp: 0 0xd09-0xd0b.7 (3)
0xd00| 00 00 93 | ... | message_length: 147 0xd0c-0xd0e.7 (3)
0xd00| 14| .| message_type_id: "command_message" (20) 0xd0f-0xd0f.7 (1)
0xd10|01 00 00 00 |.... | message_stream_id: 1 0xd10-0xd13.7 (4)
| | | calculated_timestamp: 0 0xd14-NA (0)
0xd10| 02 00 08 6f 6e 53 74 61 74 75 73 00| ...onStatus.| data: raw bits 0xd14-0xd93.7 (128)
0xd20|00 00 00 00 00 00 00 00 05 03 00 05 6c 65 76 65|............leve|
* |until 0xd93.7 (128) | |
| | | [8]{}: chunk 0xd94-0xda7.7 (20)
0xd90| c4 | . | fmt: 3 0xd94-0xd94.1 (0.2)
0xd90| c4 | . | chunk_stream_id: 4 0xd94.2-0xd94.7 (0.6)
| | | message_length: 147 (previous) 0xd95-NA (0)
| | | message_type_id: 20 (previous) 0xd95-NA (0)
| | | message_stream_id: 1 (previous) 0xd95-NA (0)
| | | calculated_timestamp: 0 0xd95-NA (0)
0xd90| 6c 69 65 6e 74 69 64 00 41 9f a4| lientid.A..| data: raw bits 0xd95-0xda7.7 (19)
| | | [8]{}: chunk 0xd94-0xda7.7 (20)
0xd90| c4 | . | fmt: 3 0xd94-0xd94.1 (0.2)
0xd90| c4 | . | chunk_stream_id: 4 0xd94.2-0xd94.7 (0.6)
| | | message_length: 147 (previous) 0xd95-NA (0)
| | | message_type_id: 20 (previous) 0xd95-NA (0)
| | | message_stream_id: 1 (previous) 0xd95-NA (0)
| | | calculated_timestamp: 0 0xd95-NA (0)
0xd90| 6c 69 65 6e 74 69 64 00 41 9f a4| lientid.A..| data: raw bits 0xd95-0xda7.7 (19)
0xda0|d2 c0 00 00 00 00 00 09| |........| |