code: func (p *Packet) Field(typ byte) []byte {
  	b := p.b
  	for len(b) > 0 {
  		if len(b) < 2 {
  			return nil
  		}
  		l, t := b[0], b[1]
  		if int(l) < 1 || len(b) < int(1+l) {
  			return nil
  		}
  		if t == typ {
  			return b[2 : 2+l-1]
  		}
  		b = b[1+l:]
  	}
  	return nil
  }
docs: // Field returns the field data (excluding the initial length and typ byte).
  // It returns nil, if the specified field is not found.