Package org.pcap4j.packet.IpV4Packet

Examples of org.pcap4j.packet.IpV4Packet.IpV4Header


    if (packet.length() <= mtu) {
      list.add(packet);
      return list;
    }

    IpV4Header header = packet.getHeader();
    byte[] payload = packet.getPayload().getRawData();
    int max_payload_length = mtu - header.length();
    int actual_max_payload_length
      = max_payload_length % 8 == 0 ? max_payload_length
                                    : max_payload_length - max_payload_length % 8;
    int rest_length = payload.length;
    int srcPos = 0;
View Full Code Here


   * @return a defragmented packet.
   */
  public static IpV4Packet defragment(List<IpV4Packet> list) {
    Collections.sort(list, comparator);

    IpV4Header lastPacketHeader = list.get(list.size() - 1).getHeader();
    int payloadLength
      = lastPacketHeader.getFlagmentOffset() * 8
          + lastPacketHeader.getTotalLengthAsInt()
          - lastPacketHeader.getIhl() * 4;
    if (payloadLength <= 0) {
      throw new IllegalArgumentException("Can't defragment: " + list);
    }

    final byte[] defragmentedPayload = new byte[payloadLength];
View Full Code Here

      RandomPacketTester.testClass(IpV4Packet.class, packet1);
  }

  @Test
  public void testGetHeader() {
    IpV4Header h = packet1.getHeader();
    assertEquals(version, h.getVersion());
    assertEquals(ihl, h.getIhl());
    assertEquals(tos, h.getTos());
    assertEquals(totalLength, h.getTotalLength());
    assertEquals(identification, h.getIdentification());
    assertEquals(reservedFlag, h.getReservedFlag());
    assertEquals(dontFragmentFlag, h.getDontFragmentFlag());
    assertEquals(moreFragmentFlag, h.getMoreFragmentFlag());
    assertEquals(flagmentOffset, h.getFlagmentOffset());
    assertEquals(ttl, h.getTtl());
    assertEquals(protocol, h.getProtocol());
    assertEquals(headerChecksum, h.getHeaderChecksum());
    assertEquals(srcAddr, h.getSrcAddr());
    assertEquals(dstAddr, h.getDstAddr());
    assertEquals(options.size(), h.getOptions().size());

    Iterator<IpV4Option> iter = h.getOptions().iterator();
    for (IpV4Option expected: options) {
      IpV4Option actual = iter.next();
      assertEquals(expected, actual);
    }

    assertArrayEquals(padding, h.getPadding());

    IpV4Packet.Builder b = packet1.getBuilder();
    IpV4Packet p;

    b.ihl((byte)0);
View Full Code Here

TOP

Related Classes of org.pcap4j.packet.IpV4Packet.IpV4Header

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.