@@ -3,13 +3,14 @@ package decoder
3
3
import (
4
4
"bytes"
5
5
"container/list"
6
- "github.com/segmentio/encoding/json"
7
6
"net"
8
7
"strconv"
9
8
"strings"
10
9
"sync/atomic"
11
10
"time"
12
11
12
+ "github.com/segmentio/encoding/json"
13
+
13
14
"github.com/google/gopacket"
14
15
"github.com/google/gopacket/layers"
15
16
"github.com/google/gopacket/tcpassembly"
@@ -932,7 +933,6 @@ func (d *Decoder) processTransport(foundLayerTypes *[]gopacket.LayerType, udp *l
932
933
case layers .LayerTypeTCP :
933
934
pkt .SrcPort = uint16 (tcp .SrcPort )
934
935
pkt .DstPort = uint16 (tcp .DstPort )
935
- //pkt.Payload = tcp.Payload
936
936
atomic .AddUint64 (& d .tcpCount , 1 )
937
937
logp .Debug ("payload" , "TCP" , pkt )
938
938
@@ -947,12 +947,15 @@ func (d *Decoder) processTransport(foundLayerTypes *[]gopacket.LayerType, udp *l
947
947
if ! checkResult || payloadList .Len () <= 0 {
948
948
return
949
949
}
950
- } else {
950
+
951
951
payloadList .PushBack (pkt .Payload )
952
- }
953
952
954
- for elem := payloadList .Front (); elem != nil ; elem = elem .Next () {
955
- extractCID (pkt .SrcIP , pkt .SrcPort , pkt .DstIP , pkt .DstPort , elem .Value .([]byte ))
953
+ for elem := payloadList .Front (); elem != nil ; elem = elem .Next () {
954
+ extractCID (pkt .SrcIP , pkt .SrcPort , pkt .DstIP , pkt .DstPort , elem .Value .([]byte ))
955
+ }
956
+ } else {
957
+ pkt .Payload = tcp .Payload
958
+ extractCID (pkt .SrcIP , pkt .SrcPort , pkt .DstIP , pkt .DstPort , pkt .Payload )
956
959
}
957
960
case layers .LayerTypeSCTP :
958
961
pkt .SrcPort = uint16 (sctp .SrcPort )
0 commit comments