private String getJsonDocUsingSBAppend()

in metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/PacketInfo.java [325:395]


  private String getJsonDocUsingSBAppend() {

	
    StringBuffer jsonSb = new StringBuffer(1024);

    // global header
    jsonSb.append("{\"global_header\":{\"pcap_id\":\"").append(getKey());
    jsonSb.append("\",\"inc_len\":").append(packetHeader.getInclLen());
    jsonSb.append(",\"orig_len\":").append(packetHeader.getOrigLen());
    jsonSb.append(",\"ts_sec\":").append(packetHeader.getTsSec());
    jsonSb.append(",\"ts_usec\":").append(packetHeader.getTsUsec());
    jsonSb.append("},"); // NOPMD by sheetal on 1/29/14 2:37 PM

    // ipv4 header

    jsonSb.append("\"ipv4_header\":{");

    jsonSb.append("\"ip_dst\":").append(ipv4Packet.getDestination());
    jsonSb.append(",\"ip_dst_addr\":\"").append(ipv4Packet.getDestinationAddress().getHostAddress());
    jsonSb.append("\",\"ip_flags\":").append(ipv4Packet.getFlags());
    jsonSb.append(",\"ip_fragment_offset\":").append(ipv4Packet.getFragmentOffset());
    jsonSb.append(",\"ip_header_checksum\":").append(ipv4Packet.getHeaderChecksum());
    jsonSb.append(",\"ip_id\":").append(ipv4Packet.getId());
    jsonSb.append(",\"ip_header_length\":").append(ipv4Packet.getIhl());
    jsonSb.append(",\"ip_protocol\":").append(ipv4Packet.getProtocol());
    jsonSb.append(",\"ip_src\":").append(ipv4Packet.getSource());
    jsonSb.append(",\"ip_src_addr\":\"").append(ipv4Packet.getSourceAddress().getHostAddress());
    jsonSb.append("\",\"ip_tos\":").append(ipv4Packet.getTos());
    jsonSb.append(",\"ip_total_length\":").append(ipv4Packet.getTotalLength());
    jsonSb.append(",\"ip_ttl\":").append(ipv4Packet.getTtl());
    jsonSb.append(",\"ip_version\":").append(ipv4Packet.getVersion());
    jsonSb.append('}');

    // tcp header
    if (tcpPacket != null) {
      jsonSb.append(",\"tcp_header\":{\"ack\":").append(tcpPacket.getAck());
      jsonSb.append(",\"checksum\":").append(tcpPacket.getChecksum());
      jsonSb.append(",\"data_length\":").append(tcpPacket.getDataLength());
      jsonSb.append(",\"data_offset\":").append(tcpPacket.getDataOffset());
      jsonSb.append(",\"dst_addr\":\"").append(tcpPacket.getDestinationAddress().getHostAddress());
      jsonSb.append("\",\"dst_port\":").append(tcpPacket.getDestinationPort());
      jsonSb.append(",\"direction\":").append(tcpPacket.getDirection());
      jsonSb.append(",\"flags\":").append(tcpPacket.getFlags());
      jsonSb.append(",\"reassembled_length \":").append(tcpPacket.getReassembledLength());
      jsonSb.append(",\"relative_ack\":").append(tcpPacket.getRelativeAck());
      jsonSb.append(",\"relative_seq\":").append(tcpPacket.getRelativeSeq());
      jsonSb.append(",\"seq\":").append(tcpPacket.getSeq());
      jsonSb.append(",\"session_key\":\"").append(tcpPacket.getSessionKey());
      jsonSb.append("\",\"src_addr\":\"").append(tcpPacket.getSourceAddress().getHostAddress());
      jsonSb.append("\",\"src_port\":").append(tcpPacket.getSourcePort());
      jsonSb.append(",\"total_length\":").append(tcpPacket.getTotalLength());
      jsonSb.append(",\"urgent_pointer\":").append(tcpPacket.getUrgentPointer());
      jsonSb.append(",\"window\":").append(tcpPacket.getWindow());
      jsonSb.append('}');
    }

    // udp headers
    if (udpPacket != null) {
      jsonSb.append(",\"udp_header\":{\"checksum\":").append(udpPacket.getChecksum());
      jsonSb.append(",\"dst_port\":").append(udpPacket.getDestinationPort());
      jsonSb.append(",\"length\":").append(udpPacket.getLength());
      jsonSb.append(",\"src_port\":").append(udpPacket.getSourcePort());
      jsonSb.append(",\"dst_addr\":\"").append(udpPacket.getDestination().getAddress().getHostAddress());
      jsonSb.append("\",\"src_addr\":\"").append(udpPacket.getSource().getAddress().getHostAddress());
      jsonSb.append("\"}");
    }

    jsonSb.append('}');

    return jsonSb.toString();
  }