diff --git a/raw_socket_listener/tcp_packet.go b/raw_socket_listener/tcp_packet.go index 9427a3c..19deda4 100644 --- a/raw_socket_listener/tcp_packet.go +++ b/raw_socket_listener/tcp_packet.go @@ -77,9 +77,9 @@ func (t *TCPPacket) ParseBasic() { t.DataOffset = (t.Raw[12] & 0xF0) >> 4 t.IsFIN = t.Raw[13]&0x01 != 0 - // log.Println("DataOffset:", t.DataOffset, t.DestPort, t.SrcPort, t.Seq, t.Ack) - - t.Data = t.Raw[t.DataOffset*4:] + if len(t.Raw) >= int(t.DataOffset*4) { + t.Data = t.Raw[t.DataOffset*4:] + } } func (t *TCPPacket) dump() *packet {