code: def hexdump(x, dump=False):
      
      s = ""
      x = bytes_encode(x)
      x_len = len(x)
      i = 0
      while i < x_len:
          s += "%04x  " % i
          for j in range(16):
              if i + j < x_len:
                  s += "%02X " % orb(x[i + j])
              else:
                  s += "   "
          s += " %s\n" % sane_color(x[i:i + 16])
          i += 16
      # remove trailing \n
      s = s[:-1] if s.endswith("\n") else s
      if dump:
          return s
      else:
          print(s)
docs: Build a tcpdump like hexadecimal view
  
      :param x: a Packet
      :param dump: define if the result must be printed or returned in a variable
      :returns: a String only when dump=True