numberClass);
31 | }
32 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/factory/PacketFactoryBinderProvider.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory;
9 |
10 | /**
11 | * Provides an instance of {@link PacketFactoryBinder}
12 | *
13 | * Implementing modules must declare themselves to the core module by:
14 | *
15 | *
16 | * - creating the file
17 | * src/main/resources/META-INF/services/org.pcap4j.packet.factory.PacketFactoryBinderProvider
18 | *
- adding a line in the file '<package>.<className>' for the name of the class
19 | * implementing this {@link PacketFactoryBinderProvider}
20 | *
21 | *
22 | * See {@link java.util.ServiceLoader} for more information.
23 | *
24 | * @author Jordan Dubie
25 | * @since pcap4j 1.8.0
26 | */
27 | public interface PacketFactoryBinderProvider {
28 | /**
29 | * The instance of the {@link PacketFactoryBinder} to use to build the packets.
30 | *
31 | * @return a {@link PacketFactoryBinder}
32 | */
33 | public PacketFactoryBinder getBinder();
34 | }
35 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/factory/SimplePacketFactoryBinder.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2013-2014 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory;
9 |
10 | import org.pcap4j.packet.Packet;
11 | import org.pcap4j.packet.namednumber.NamedNumber;
12 |
13 | /**
14 | * @author Kaito Yamada
15 | * @since pcap4j 0.9.16
16 | */
17 | final class SimplePacketFactoryBinder {
18 |
19 | private static final SimplePacketFactoryBinder INSTANCE = new SimplePacketFactoryBinder();
20 |
21 | private SimplePacketFactoryBinder() {}
22 |
23 | public static SimplePacketFactoryBinder getInstance() {
24 | return INSTANCE;
25 | }
26 |
27 | @SuppressWarnings("unchecked")
28 | public > PacketFactory getPacketFactory(
29 | Class targetClass, Class numberClass) {
30 | if (Packet.class.isAssignableFrom(targetClass)) {
31 | return (PacketFactory) StaticUnknownPacketFactory.getInstance();
32 | } else {
33 | StringBuilder sb = new StringBuilder(100);
34 | sb.append("targetClass: ").append(targetClass).append(" numberClass: ").append(numberClass);
35 | throw new IllegalArgumentException(sb.toString());
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/factory/StaticUnknownPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2012-2014 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory;
9 |
10 | import org.pcap4j.packet.Packet;
11 | import org.pcap4j.packet.UnknownPacket;
12 | import org.pcap4j.packet.namednumber.NamedNumber;
13 |
14 | /**
15 | * @author Kaito Yamada
16 | * @since pcap4j 0.9.14
17 | */
18 | public final class StaticUnknownPacketFactory implements PacketFactory> {
19 |
20 | private static final StaticUnknownPacketFactory INSTANCE = new StaticUnknownPacketFactory();
21 |
22 | private StaticUnknownPacketFactory() {};
23 |
24 | /** @return the singleton instance of StaticUnknownPacketFactory. */
25 | public static StaticUnknownPacketFactory getInstance() {
26 | return INSTANCE;
27 | }
28 |
29 | public Packet newInstance(byte[] rawData, int offset, int length, NamedNumber, ?> number) {
30 | return newInstance(rawData, offset, length);
31 | }
32 |
33 | public Packet newInstance(byte[] rawData, int offset, int length) {
34 | return UnknownPacket.newPacket(rawData, offset, length);
35 | }
36 |
37 | @Override
38 | public Class extends Packet> getTargetClass(NamedNumber, ?> number) {
39 | return getTargetClass();
40 | }
41 |
42 | @Override
43 | public Class extends Packet> getTargetClass() {
44 | return UnknownPacket.class;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/namednumber/IpV4SecurityOptionCompartments.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2011-2015 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.namednumber;
9 |
10 | import java.util.HashMap;
11 | import java.util.Map;
12 | import org.pcap4j.util.ByteArrays;
13 |
14 | /**
15 | * Compartments of IPv4 Security Option
16 | *
17 | * @see RFC 791
18 | * @author Kaito Yamada
19 | * @since pcap4j 0.9.11
20 | */
21 | public final class IpV4SecurityOptionCompartments
22 | extends NamedNumber {
23 |
24 | /** */
25 | private static final long serialVersionUID = -420949071267484565L;
26 |
27 | /** not compartmented: 0x0000 */
28 | public static final IpV4SecurityOptionCompartments NOT_COMPARTMENTED =
29 | new IpV4SecurityOptionCompartments((short) 0x0000, "not compartmented");
30 |
31 | private static final Map registry =
32 | new HashMap();
33 |
34 | static {
35 | registry.put(NOT_COMPARTMENTED.value(), NOT_COMPARTMENTED);
36 | }
37 |
38 | /**
39 | * @param value value
40 | * @param name name
41 | */
42 | public IpV4SecurityOptionCompartments(Short value, String name) {
43 | super(value, name);
44 | }
45 |
46 | /**
47 | * @param value value
48 | * @return a IpV4SecurityOptionCompartments object.
49 | */
50 | public static IpV4SecurityOptionCompartments getInstance(Short value) {
51 | if (registry.containsKey(value)) {
52 | return registry.get(value);
53 | } else {
54 | return new IpV4SecurityOptionCompartments(value, "unknown");
55 | }
56 | }
57 |
58 | /**
59 | * @param number number
60 | * @return a IpV4SecurityOptionCompartments object.
61 | */
62 | public static IpV4SecurityOptionCompartments register(IpV4SecurityOptionCompartments number) {
63 | return registry.put(number.value(), number);
64 | }
65 |
66 | @Override
67 | public String valueAsString() {
68 | return "0x" + ByteArrays.toHexString(value(), "");
69 | }
70 |
71 | @Override
72 | public int compareTo(IpV4SecurityOptionCompartments o) {
73 | return value().compareTo(o.value());
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/namednumber/IpV4SecurityOptionHandlingRestrictions.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2011-2015 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.namednumber;
9 |
10 | import java.util.HashMap;
11 | import java.util.Map;
12 | import org.pcap4j.util.ByteArrays;
13 |
14 | /**
15 | * Handling Restrictions of IPv4 Security Option
16 | *
17 | * @see RFC 791
18 | * @author Kaito Yamada
19 | * @since pcap4j 0.9.11
20 | */
21 | public final class IpV4SecurityOptionHandlingRestrictions
22 | extends NamedNumber {
23 |
24 | /** */
25 | private static final long serialVersionUID = 3041825811304706489L;
26 |
27 | private static final Map registry =
28 | new HashMap();
29 |
30 | static {
31 | }
32 |
33 | /**
34 | * @param value value
35 | * @param name name
36 | */
37 | public IpV4SecurityOptionHandlingRestrictions(Short value, String name) {
38 | super(value, name);
39 | }
40 |
41 | /**
42 | * @param value value
43 | * @return a IpV4SecurityOptionHandlingRestrictions object.
44 | */
45 | public static IpV4SecurityOptionHandlingRestrictions getInstance(Short value) {
46 | if (registry.containsKey(value)) {
47 | return registry.get(value);
48 | } else {
49 | return new IpV4SecurityOptionHandlingRestrictions(value, "unknown");
50 | }
51 | }
52 |
53 | /**
54 | * @param number number
55 | * @return a IpV4SecurityOptionHandlingRestrictions object.
56 | */
57 | public static IpV4SecurityOptionHandlingRestrictions register(
58 | IpV4SecurityOptionHandlingRestrictions number) {
59 | return registry.put(number.value(), number);
60 | }
61 |
62 | @Override
63 | public String valueAsString() {
64 | return "0x" + ByteArrays.toHexString(value(), "");
65 | }
66 |
67 | @Override
68 | public int compareTo(IpV4SecurityOptionHandlingRestrictions o) {
69 | return value().compareTo(o.value());
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/namednumber/NotApplicable.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2013-2015 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.namednumber;
9 |
10 | /**
11 | * N/A
12 | *
13 | * @author Kaito Yamada
14 | * @since pcap4j 0.9.16
15 | */
16 | public final class NotApplicable extends NamedNumber {
17 |
18 | /** */
19 | private static final long serialVersionUID = -1260181531930282735L;
20 |
21 | /** Unknown: 0 */
22 | public static final NotApplicable UNKNOWN = new NotApplicable((byte) 0, "Unknown");
23 |
24 | /** Fragmented: 1 */
25 | public static final NotApplicable FRAGMENTED = new NotApplicable((byte) 1, "Fragmented");
26 |
27 | /** Compressed: 2 */
28 | public static final NotApplicable COMPRESSED = new NotApplicable((byte) 2, "Compressed");
29 |
30 | /** Encrypted: 3 */
31 | public static final NotApplicable ENCRYPTED = new NotApplicable((byte) 3, "Encrypted");
32 |
33 | /** Unknown IPv6 Extension: 4 */
34 | public static final NotApplicable UNKNOWN_IP_V6_EXTENSION =
35 | new NotApplicable((byte) 4, "Unknown IPv6 Extension");
36 |
37 | /**
38 | * @param value value
39 | * @param name name
40 | */
41 | private NotApplicable(Byte value, String name) {
42 | super(value, name);
43 | }
44 |
45 | @Override
46 | public int compareTo(NotApplicable o) {
47 | return value().compareTo(o.value());
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/namednumber/Port.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.namednumber;
9 |
10 | /**
11 | * Transport layer Port
12 | *
13 | * @author Ferran Altimiras
14 | * @since pcap4j 1.7.5
15 | */
16 | public abstract class Port extends NamedNumber {
17 |
18 | /**
19 | * @param value value
20 | * @param name name
21 | */
22 | public Port(Short value, String name) {
23 | super(value, name);
24 | }
25 |
26 | /** @return the value of this object as an int. */
27 | public int valueAsInt() {
28 | return 0xFFFF & value();
29 | }
30 |
31 | @Override
32 | public String valueAsString() {
33 | return String.valueOf(valueAsInt());
34 | }
35 |
36 | @Override
37 | public int compareTo(Port o) {
38 | return value().compareTo(o.value());
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/packet/packet.properties:
--------------------------------------------------------------------------------
1 | ##############
2 | ## checksum ##
3 | ##############
4 | #org.pcap4j.packet.icmpV4.calcChecksumAtBuild = true
5 | #org.pcap4j.packet.ipV4.calcChecksumAtBuild = true
6 | #org.pcap4j.packet.tcpV4.calcChecksumAtBuild = true
7 | #org.pcap4j.packet.udpV4.calcChecksumAtBuild = true
8 | #org.pcap4j.packet.tcpV6.calcChecksumAtBuild = true
9 | # Because checksum calculation is necessary to UDP over IPv6
10 | # it's not recommended to set false to this property.
11 | #org.pcap4j.packet.udpV6.calcChecksumAtBuild = true
12 | #org.pcap4j.packet.icmpV6.calcChecksumAtBuild = true
13 | #org.pcap4j.packet.sctp.calcChecksumByAdler32 = false
14 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/pcap4j.properties:
--------------------------------------------------------------------------------
1 | #org.pcap4j.af.inet = 2
2 | #org.pcap4j.af.inet6 = 30
3 | #org.pcap4j.af.packet = 17
4 | #org.pcap4j.af.link = 18
5 | #org.pcap4j.dlt.raw = 12
6 |
7 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/util/IcmpV4Helper.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2012 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.util;
9 |
10 | import org.pcap4j.packet.Packet;
11 |
12 | /**
13 | * @author Kaito Yamada
14 | * @since pcap4j 0.9.11
15 | */
16 | public final class IcmpV4Helper {
17 |
18 | private IcmpV4Helper() {
19 | throw new AssertionError();
20 | }
21 |
22 | /**
23 | * @param packet an IPv4 Packet
24 | * @return a new Packet object.
25 | */
26 | public static Packet makePacketForInvokingPacketField(Packet packet) {
27 | if (packet == null || packet.getHeader() == null || packet.getPayload() == null) {
28 | StringBuilder sb = new StringBuilder();
29 | sb.append("packet: ")
30 | .append(packet)
31 | .append(" packet.getHeader(): ")
32 | .append(packet.getHeader())
33 | .append(" packet.getPayload(): ")
34 | .append(packet.getPayload());
35 | throw new NullPointerException(sb.toString());
36 | }
37 |
38 | return IcmpV6Helper.makePacketForInvokingPacketField(packet, 8 + packet.getHeader().length());
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/util/Inet4NetworkAddress.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2013 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.util;
9 |
10 | import java.io.Serializable;
11 | import java.net.Inet4Address;
12 |
13 | /**
14 | * @author Kaito Yamada
15 | * @since pcap4j 0.9.15
16 | */
17 | public final class Inet4NetworkAddress implements Serializable {
18 |
19 | /** */
20 | private static final long serialVersionUID = -8599700451783666420L;
21 |
22 | private final Inet4Address networkAddress;
23 | private final Inet4Address mask;
24 |
25 | /**
26 | * @param networkAddress networkAddress
27 | * @param mask mask
28 | */
29 | public Inet4NetworkAddress(Inet4Address networkAddress, Inet4Address mask) {
30 | this.networkAddress = networkAddress;
31 | this.mask = mask;
32 | }
33 |
34 | /** @return networkAddress */
35 | public Inet4Address getNetworkAddress() {
36 | return networkAddress;
37 | }
38 |
39 | /** @return mask */
40 | public Inet4Address getMask() {
41 | return mask;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/pcap4j-core/src/main/java/org/pcap4j/util/LazyValue.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2012 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.util;
9 |
10 | import java.io.IOException;
11 | import java.io.ObjectOutputStream;
12 | import java.io.Serializable;
13 |
14 | /**
15 | * @author Kaito Yamada
16 | * @since pcap4j 0.9.6
17 | * @param the type of value this class returns.
18 | */
19 | public final class LazyValue implements Serializable {
20 |
21 | /** */
22 | private static final long serialVersionUID = 1379102837076225509L;
23 |
24 | private final transient BuildValueCommand command;
25 | private final transient Object thisLock = new Object();
26 |
27 | private volatile T1 value = null;
28 |
29 | /** @param command command */
30 | public LazyValue(BuildValueCommand command) {
31 | this.command = command;
32 | }
33 |
34 | /** @return value */
35 | public T1 getValue() {
36 | T1 result = value;
37 | if (result == null) {
38 | synchronized (thisLock) {
39 | result = value;
40 | if (result == null) {
41 | value = command.buildValue();
42 | }
43 | }
44 | }
45 | return value;
46 | }
47 |
48 | private void writeObject(ObjectOutputStream out) throws IOException {
49 | getValue();
50 | if (value == null) {
51 | throw new AssertionError();
52 | }
53 | out.defaultWriteObject();
54 | }
55 |
56 | /**
57 | * @author Kaito Yamada
58 | * @since pcap4j 0.9.6
59 | * @param the type of value to build.
60 | */
61 | public interface BuildValueCommand {
62 |
63 | /** @return value */
64 | public T2 buildValue();
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/pcap4j-core/src/test/java/org/pcap4j/Pcap4jPropertiesLoaderTest.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j;
2 |
3 | import static org.junit.Assert.assertEquals;
4 | import static org.junit.Assert.assertNotNull;
5 |
6 | import com.sun.jna.Platform;
7 | import org.junit.Before;
8 | import org.junit.Test;
9 |
10 | @SuppressWarnings("javadoc")
11 | public class Pcap4jPropertiesLoaderTest {
12 |
13 | private Pcap4jPropertiesLoader propertiesLoader;
14 |
15 | @Before
16 | public void setUp() {
17 | this.propertiesLoader = Pcap4jPropertiesLoader.getInstance();
18 | }
19 |
20 | @Test
21 | public void testHasDefaultAfInet() {
22 | assertNotNull(propertiesLoader.getAfInet());
23 | assertEquals(2, (int) propertiesLoader.getAfInet());
24 | }
25 |
26 | @Test
27 | public void testHasDefaultAfInet6() {
28 | assertNotNull(propertiesLoader.getAfInet6());
29 | assertEquals(getExpectedDefaultAfInet6(), (int) propertiesLoader.getAfInet6());
30 | }
31 |
32 | @Test
33 | public void testHasDefaultAfPacket() {
34 | assertNotNull(propertiesLoader.getAfPacket());
35 | assertEquals(17, (int) propertiesLoader.getAfPacket());
36 | }
37 |
38 | @Test
39 | public void testHasDefaultAfLink() {
40 | assertNotNull(propertiesLoader.getAfLink());
41 | assertEquals(18, (int) propertiesLoader.getAfLink());
42 | }
43 |
44 | @Test
45 | public void testHasDefaultDltRaw() {
46 | assertNotNull(propertiesLoader.getDltRaw());
47 | assertEquals(getExpectedDefaultDltRaw(), (int) propertiesLoader.getDltRaw());
48 | }
49 |
50 | private int getExpectedDefaultAfInet6() {
51 | switch (Platform.getOSType()) {
52 | case Platform.MAC:
53 | return 30;
54 | case Platform.FREEBSD:
55 | case Platform.KFREEBSD:
56 | return 28;
57 | case Platform.LINUX:
58 | case Platform.ANDROID:
59 | return 10;
60 | default:
61 | return 23;
62 | }
63 | }
64 |
65 | private int getExpectedDefaultDltRaw() {
66 | switch (Platform.getOSType()) {
67 | case Platform.OPENBSD:
68 | return 14;
69 | default:
70 | return 12;
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/pcap4j-core/src/test/java/org/pcap4j/core/BpfProgramTest.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j.core;
2 |
3 | import static org.junit.Assert.*;
4 |
5 | import org.junit.Test;
6 | import org.pcap4j.core.BpfProgram.BpfCompileMode;
7 | import org.pcap4j.packet.Packet;
8 |
9 | @SuppressWarnings("javadoc")
10 | public class BpfProgramTest {
11 |
12 | @Test
13 | public void testOpenLive() throws Exception {
14 | PcapHandle ph = Pcaps.openOffline("src/test/resources/org/pcap4j/core/udp_tcp_icmp.pcap");
15 | BpfProgram prog =
16 | ph.compileFilter("icmp", BpfCompileMode.OPTIMIZE, PcapHandle.PCAP_NETMASK_UNKNOWN);
17 |
18 | Packet udp = ph.getNextPacket();
19 | assertFalse(prog.applyFilter(udp));
20 |
21 | Packet tcp = ph.getNextPacket();
22 | assertFalse(prog.applyFilter(tcp.getRawData()));
23 |
24 | byte[] icmp = ph.getNextPacket().getRawData();
25 | byte[] icmpArr = new byte[icmp.length + 20];
26 | System.arraycopy(icmp, 0, icmpArr, 0, icmp.length);
27 | assertTrue(prog.applyFilter(icmpArr, icmp.length, icmp.length));
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/pcap4j-core/src/test/java/org/pcap4j/core/PcapNetworkInterfaceTest.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j.core;
2 |
3 | import static org.junit.Assert.assertNotNull;
4 | import static org.junit.Assert.assertTrue;
5 |
6 | import org.junit.After;
7 | import org.junit.AfterClass;
8 | import org.junit.Before;
9 | import org.junit.BeforeClass;
10 | import org.junit.Test;
11 | import org.pcap4j.core.PcapNetworkInterface.PromiscuousMode;
12 | import org.slf4j.Logger;
13 | import org.slf4j.LoggerFactory;
14 |
15 | @SuppressWarnings("javadoc")
16 | public class PcapNetworkInterfaceTest {
17 |
18 | private static final Logger logger = LoggerFactory.getLogger(PcapNetworkInterfaceTest.class);
19 |
20 | @BeforeClass
21 | public static void setUpBeforeClass() throws Exception {}
22 |
23 | @AfterClass
24 | public static void tearDownAfterClass() throws Exception {}
25 |
26 | @Before
27 | public void setUp() throws Exception {}
28 |
29 | @After
30 | public void tearDown() throws Exception {}
31 |
32 | @Test
33 | public void testOpenLive() throws Exception {
34 | PcapHandle handle;
35 | try {
36 | handle = Pcaps.findAllDevs().get(0).openLive(55555, PromiscuousMode.PROMISCUOUS, 100);
37 | } catch (IndexOutOfBoundsException e) {
38 | return;
39 | } catch (PcapNativeException e) {
40 | assertTrue(
41 | "The exception should complain about permission to capture.",
42 | e.getMessage().contains("You don't have permission to capture on that device"));
43 | return;
44 | }
45 |
46 | assertNotNull(handle);
47 | assertTrue(handle.isOpen());
48 |
49 | logger.info(handle.toString());
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/pcap4j-core/src/test/java/org/pcap4j/core/test/Constants.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j.core.test;
2 |
3 | @SuppressWarnings("javadoc")
4 | public class Constants {
5 |
6 | private Constants() {
7 | throw new AssertionError();
8 | }
9 |
10 | public static String ENABLE_TIMESTAMP_PRECISION_TESTS_KEY =
11 | "org.pcap4j.core.test.enableTimestampPrecisionTests";
12 | }
13 |
--------------------------------------------------------------------------------
/pcap4j-core/src/test/java/org/pcap4j/util/ByteArraysTest.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j.util;
2 |
3 | import static org.junit.Assert.*;
4 |
5 | import org.junit.Test;
6 |
7 | @SuppressWarnings("javadoc")
8 | public class ByteArraysTest {
9 |
10 | @Test
11 | public void testToHexString() throws Exception {
12 | byte[] arr =
13 | new byte[] {
14 | (byte) 0x0,
15 | (byte) 0x1,
16 | (byte) 0x2,
17 | (byte) 0x3,
18 | (byte) 0x4,
19 | (byte) 0x55,
20 | (byte) 0x56,
21 | (byte) 0x57,
22 | (byte) 0x58,
23 | (byte) 0x59,
24 | (byte) 0xaa,
25 | (byte) 0xab,
26 | (byte) 0xac,
27 | (byte) 0xad,
28 | (byte) 0xae,
29 | (byte) 0xaf,
30 | (byte) 0xfa,
31 | (byte) 0xfb,
32 | (byte) 0xfc,
33 | (byte) 0xfd,
34 | (byte) 0xfe,
35 | (byte) 0xff
36 | };
37 |
38 | assertEquals(
39 | "00:01:02:03:04:55:56:57:58:59:aa:ab:ac:ad:ae:af:fa:fb:fc:fd:fe:ff",
40 | ByteArrays.toHexString(arr, ":"));
41 | assertEquals(
42 | "00 : 01 : 02 : 03 : 04 : 55 : 56 : 57 : 58 : 59 : aa : ab : ac : ad : ae : af : fa : fb : fc : fd : fe : ff",
43 | ByteArrays.toHexString(arr, " : "));
44 | assertEquals("55-56-57-58-59", ByteArrays.toHexString(arr, "-", 5, 5));
45 | assertEquals("aaabacadaeaf", ByteArrays.toHexString(arr, "", 10, 6));
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/pcap4j-core/src/test/resources/logback-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
7 |
8 |
9 |
10 |
11 | target/test/test.log
12 | false
13 |
14 |
15 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/pcap4j-core/src/test/resources/org/pcap4j/core/PcapHandleTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-core/src/test/resources/org/pcap4j/core/PcapHandleTest.pcap
--------------------------------------------------------------------------------
/pcap4j-core/src/test/resources/org/pcap4j/core/PcapsTest.testOpenOfflineWithTimestampPrecision.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-core/src/test/resources/org/pcap4j/core/PcapsTest.testOpenOfflineWithTimestampPrecision.pcap
--------------------------------------------------------------------------------
/pcap4j-core/src/test/resources/org/pcap4j/core/udp_tcp_icmp.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-core/src/test/resources/org/pcap4j/core/udp_tcp_icmp.pcap
--------------------------------------------------------------------------------
/pcap4j-core/src/test/resources/org/pcap4j/pcap4j-test.properties:
--------------------------------------------------------------------------------
1 | #org.pcap4j.af.inet = 2
2 | #org.pcap4j.af.inet6 = 30
3 | #org.pcap4j.af.packet = 17
4 | #org.pcap4j.af.link = 18
5 | #org.pcap4j.dlt.raw = 12
6 |
7 |
--------------------------------------------------------------------------------
/pcap4j-distribution/src/assemble/bin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 | bin
7 |
8 |
9 | zip
10 |
11 |
12 | false
13 |
14 |
15 |
16 | false
17 | ./
18 | false
19 | false
20 |
21 |
22 |
23 |
24 |
25 | ${project.parent.basedir}
26 | ./
27 |
28 | README*
29 | LICENSE
30 | CHANGES.md
31 |
32 |
33 |
34 | ${project.build.directory}
35 | ./
36 |
37 | *-javadoc.jar
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/pcap4j-distribution/src/assemble/src.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 | src
7 |
8 |
9 | zip
10 |
11 |
12 | false
13 |
14 |
15 |
16 | false
17 | ./
18 | false
19 | false
20 |
21 |
22 |
23 |
24 |
25 | ${project.parent.basedir}
26 | ./
27 |
28 | README*
29 | LICENSE
30 | CHANGES.md
31 |
32 |
33 |
34 | ${project.parent.build.directory}
35 | ./
36 |
37 | *-javadoc.jar
38 |
39 |
40 |
41 | ${project.parent.basedir}
42 | ./
43 |
44 | pcap4j-*/src/**
45 | pom.xml
46 | pcap4j-*/pom.xml
47 |
48 |
49 | pcap4j-test-coverage/src/**
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-propertiesbased/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module org.pcap4j.packetfactory.propertiesbased {
2 | requires org.pcap4j.core;
3 | requires java.sql;
4 |
5 | // opens this package so that PacketFactoryPropertiesLoader can load packet-factory.properties
6 | opens org.pcap4j.packet.factory.propertiesbased;
7 |
8 | provides org.pcap4j.packet.factory.PacketFactoryBinderProvider with
9 | org.pcap4j.packet.factory.propertiesbased.services.PropertiesBasedPacketFactoryBinderProvider;
10 | }
11 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-propertiesbased/src/main/java/org/pcap4j/packet/factory/propertiesbased/services/PropertiesBasedPacketFactoryBinderProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * ***************************************************************************
3 | * Copyright (C) 2019 Thales AVS, All Rights Reserved.
4 | * ***************************************************************************
5 | */
6 | package org.pcap4j.packet.factory.propertiesbased.services;
7 |
8 | import org.pcap4j.packet.factory.PacketFactoryBinder;
9 | import org.pcap4j.packet.factory.PacketFactoryBinderProvider;
10 |
11 | /**
12 | * @author Jordan Dubie
13 | * @since pcap4j 1.8.0
14 | */
15 | public class PropertiesBasedPacketFactoryBinderProvider implements PacketFactoryBinderProvider {
16 |
17 | @Override
18 | public PacketFactoryBinder getBinder() {
19 | return PropertiesBasedPacketFactoryBinder.getInstance();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-propertiesbased/src/main/resources/META-INF/services/org.pcap4j.packet.factory.PacketFactoryBinderProvider:
--------------------------------------------------------------------------------
1 | org.pcap4j.packet.factory.propertiesbased.services.PropertiesBasedPacketFactoryBinderProvider
2 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-propertiesbased/src/test/resources/logback-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
7 |
8 |
9 |
10 |
11 | target/test/test.log
12 | false
13 |
14 |
15 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module org.pcap4j.packetfactory.statik {
2 | requires org.pcap4j.core;
3 | requires java.sql;
4 |
5 | provides org.pcap4j.packet.factory.PacketFactoryBinderProvider with
6 | org.pcap4j.packet.factory.statik.services.StaticPacketFactoryBinderProvider;
7 | }
8 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/PacketInstantiater.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2012-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.IllegalRawDataException;
11 | import org.pcap4j.packet.Packet;
12 |
13 | interface PacketInstantiater {
14 |
15 | public Packet newInstance(byte[] rawData, int offset, int length) throws IllegalRawDataException;
16 |
17 | public Class extends Packet> getTargetClass();
18 | }
19 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticDot11FrameTypePacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2016-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.Dot11ProbeRequestPacket;
11 | import org.pcap4j.packet.IllegalRawDataException;
12 | import org.pcap4j.packet.Packet;
13 | import org.pcap4j.packet.namednumber.Dot11FrameType;
14 |
15 | /**
16 | * @author Kaito Yamada
17 | * @since pcap4j 1.7.0
18 | */
19 | public final class StaticDot11FrameTypePacketFactory
20 | extends AbstractStaticPacketFactory {
21 |
22 | private static final StaticDot11FrameTypePacketFactory INSTANCE =
23 | new StaticDot11FrameTypePacketFactory();
24 |
25 | private StaticDot11FrameTypePacketFactory() {
26 | instantiaters.put(
27 | Dot11FrameType.PROBE_REQUEST,
28 | new PacketInstantiater() {
29 | @Override
30 | public Packet newInstance(byte[] rawData, int offset, int length)
31 | throws IllegalRawDataException {
32 | return Dot11ProbeRequestPacket.newPacket(rawData, offset, length);
33 | }
34 |
35 | @Override
36 | public Class getTargetClass() {
37 | return Dot11ProbeRequestPacket.class;
38 | }
39 | });
40 | };
41 |
42 | /** @return the singleton instance of StaticDot11FrameTypePacketFactory. */
43 | public static StaticDot11FrameTypePacketFactory getInstance() {
44 | return INSTANCE;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticGtpV1ExtensionPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.GtpV1ExtPduSessionContainerPacket;
11 | import org.pcap4j.packet.IllegalRawDataException;
12 | import org.pcap4j.packet.Packet;
13 | import org.pcap4j.packet.namednumber.GtpV1ExtensionHeaderType;
14 |
15 | /**
16 | * @author Leo Ma
17 | * @since pcap4j 1.8.3
18 | */
19 | public final class StaticGtpV1ExtensionPacketFactory
20 | extends AbstractStaticPacketFactory {
21 |
22 | private static final StaticGtpV1ExtensionPacketFactory INSTANCE =
23 | new StaticGtpV1ExtensionPacketFactory();
24 |
25 | private StaticGtpV1ExtensionPacketFactory() {
26 | instantiaters.put(
27 | GtpV1ExtensionHeaderType.PDU_SESSION_CONTAINER,
28 | new PacketInstantiater() {
29 | @Override
30 | public Packet newInstance(byte[] rawData, int offset, int length)
31 | throws IllegalRawDataException {
32 | return GtpV1ExtPduSessionContainerPacket.newPacket(rawData, offset, length);
33 | }
34 |
35 | @Override
36 | public Class getTargetClass() {
37 | return GtpV1ExtPduSessionContainerPacket.class;
38 | }
39 | });
40 | }
41 |
42 | /** @return the singleton instance of StaticGtpV1ExtensionPacketFactory. */
43 | public static StaticGtpV1ExtensionPacketFactory getInstance() {
44 | return INSTANCE;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticIpV4TosFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2013-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.IpV4Packet.IpV4Tos;
11 | import org.pcap4j.packet.IpV4Rfc1349Tos;
12 | import org.pcap4j.packet.factory.PacketFactory;
13 | import org.pcap4j.packet.namednumber.NotApplicable;
14 | import org.pcap4j.util.ByteArrays;
15 |
16 | /**
17 | * @author Kaito Yamada
18 | * @since pcap4j 0.9.16
19 | */
20 | public final class StaticIpV4TosFactory implements PacketFactory {
21 |
22 | private static final StaticIpV4TosFactory INSTANCE = new StaticIpV4TosFactory();
23 |
24 | /** @return the singleton instance of StaticIpV4TosFactory. */
25 | public static StaticIpV4TosFactory getInstance() {
26 | return INSTANCE;
27 | }
28 |
29 | @Override
30 | @Deprecated
31 | public IpV4Tos newInstance(byte[] rawData, int offset, int length, NotApplicable number) {
32 | return newInstance(rawData, offset, length);
33 | }
34 |
35 | @Override
36 | public IpV4Tos newInstance(byte[] rawData, int offset, int length) {
37 | ByteArrays.validateBounds(rawData, offset, length);
38 | return IpV4Rfc1349Tos.newInstance(rawData[offset]);
39 | }
40 |
41 | @Override
42 | @Deprecated
43 | public Class extends IpV4Tos> getTargetClass(NotApplicable number) {
44 | return getTargetClass();
45 | }
46 |
47 | @Override
48 | public Class extends IpV4Tos> getTargetClass() {
49 | return IpV4Rfc1349Tos.class;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticIpV6FlowLabelFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2013-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import static org.pcap4j.util.ByteArrays.INT_SIZE_IN_BYTES;
11 |
12 | import org.pcap4j.packet.IpV6Packet.IpV6FlowLabel;
13 | import org.pcap4j.packet.IpV6SimpleFlowLabel;
14 | import org.pcap4j.packet.factory.PacketFactory;
15 | import org.pcap4j.packet.namednumber.NotApplicable;
16 | import org.pcap4j.util.ByteArrays;
17 |
18 | /**
19 | * @author Kaito Yamada
20 | * @since pcap4j 0.9.16
21 | */
22 | public final class StaticIpV6FlowLabelFactory
23 | implements PacketFactory {
24 |
25 | private static final StaticIpV6FlowLabelFactory INSTANCE = new StaticIpV6FlowLabelFactory();
26 |
27 | /** @return the singleton instance of StaticIpV6FlowLabelFactory. */
28 | public static StaticIpV6FlowLabelFactory getInstance() {
29 | return INSTANCE;
30 | }
31 |
32 | @Override
33 | @Deprecated
34 | public IpV6FlowLabel newInstance(byte[] rawData, int offset, int length, NotApplicable number) {
35 | return newInstance(rawData, offset, length);
36 | }
37 |
38 | @Override
39 | public IpV6FlowLabel newInstance(byte[] rawData, int offset, int length) {
40 | ByteArrays.validateBounds(rawData, offset, length);
41 | if (length < INT_SIZE_IN_BYTES) {
42 | StringBuilder sb = new StringBuilder(100);
43 | sb.append("rawData is too short: ")
44 | .append(ByteArrays.toHexString(rawData, " "))
45 | .append(", offset: ")
46 | .append(offset)
47 | .append(", length: ")
48 | .append(length);
49 | throw new IllegalArgumentException(sb.toString());
50 | }
51 |
52 | return IpV6SimpleFlowLabel.newInstance(ByteArrays.getInt(rawData, offset));
53 | }
54 |
55 | @Override
56 | @Deprecated
57 | public Class extends IpV6FlowLabel> getTargetClass(NotApplicable number) {
58 | return getTargetClass();
59 | }
60 |
61 | @Override
62 | public Class extends IpV6FlowLabel> getTargetClass() {
63 | return IpV6SimpleFlowLabel.class;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticIpV6TrafficClassFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2013-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.IpV6Packet.IpV6TrafficClass;
11 | import org.pcap4j.packet.IpV6SimpleTrafficClass;
12 | import org.pcap4j.packet.factory.PacketFactory;
13 | import org.pcap4j.packet.namednumber.NotApplicable;
14 | import org.pcap4j.util.ByteArrays;
15 |
16 | /**
17 | * @author Kaito Yamada
18 | * @since pcap4j 0.9.16
19 | */
20 | public final class StaticIpV6TrafficClassFactory
21 | implements PacketFactory {
22 |
23 | private static final StaticIpV6TrafficClassFactory INSTANCE = new StaticIpV6TrafficClassFactory();
24 |
25 | /** @return the singleton instance of StaticIpV6TrafficClassFactory. */
26 | public static StaticIpV6TrafficClassFactory getInstance() {
27 | return INSTANCE;
28 | }
29 |
30 | @Override
31 | @Deprecated
32 | public IpV6TrafficClass newInstance(
33 | byte[] rawData, int offset, int length, NotApplicable number) {
34 | return newInstance(rawData, offset, length);
35 | }
36 |
37 | @Override
38 | public IpV6TrafficClass newInstance(byte[] rawData, int offset, int length) {
39 | ByteArrays.validateBounds(rawData, offset, length);
40 | return IpV6SimpleTrafficClass.newInstance(rawData[offset]);
41 | }
42 |
43 | @Override
44 | @Deprecated
45 | public Class extends IpV6TrafficClass> getTargetClass(NotApplicable number) {
46 | return getTargetClass();
47 | }
48 |
49 | @Override
50 | public Class extends IpV6TrafficClass> getTargetClass() {
51 | return IpV6SimpleTrafficClass.class;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticLlcNumberPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2016-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.ArpPacket;
11 | import org.pcap4j.packet.IllegalRawDataException;
12 | import org.pcap4j.packet.Packet;
13 | import org.pcap4j.packet.SnapPacket;
14 | import org.pcap4j.packet.namednumber.LlcNumber;
15 |
16 | /**
17 | * @author Kaito Yamada
18 | * @since pcap4j 1.6.5
19 | */
20 | public final class StaticLlcNumberPacketFactory extends AbstractStaticPacketFactory {
21 |
22 | private static final StaticLlcNumberPacketFactory INSTANCE = new StaticLlcNumberPacketFactory();
23 |
24 | private StaticLlcNumberPacketFactory() {
25 | instantiaters.put(
26 | LlcNumber.ARP,
27 | new PacketInstantiater() {
28 | @Override
29 | public Packet newInstance(byte[] rawData, int offset, int length)
30 | throws IllegalRawDataException {
31 | return ArpPacket.newPacket(rawData, offset, length);
32 | }
33 |
34 | @Override
35 | public Class getTargetClass() {
36 | return ArpPacket.class;
37 | }
38 | });
39 | instantiaters.put(
40 | LlcNumber.SNAP,
41 | new PacketInstantiater() {
42 | @Override
43 | public Packet newInstance(byte[] rawData, int offset, int length)
44 | throws IllegalRawDataException {
45 | return SnapPacket.newPacket(rawData, offset, length);
46 | }
47 |
48 | @Override
49 | public Class getTargetClass() {
50 | return SnapPacket.class;
51 | }
52 | });
53 | }
54 |
55 | /** @return the singleton instance of StaticLlcNumberPacketFactory. */
56 | public static StaticLlcNumberPacketFactory getInstance() {
57 | return INSTANCE;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticPppDllProtocolPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2015-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.IllegalRawDataException;
11 | import org.pcap4j.packet.IpV4Packet;
12 | import org.pcap4j.packet.IpV6Packet;
13 | import org.pcap4j.packet.Packet;
14 | import org.pcap4j.packet.namednumber.PppDllProtocol;
15 |
16 | /**
17 | * @author Kaito Yamada
18 | * @since pcap4j 1.4.0
19 | */
20 | public final class StaticPppDllProtocolPacketFactory
21 | extends AbstractStaticPacketFactory {
22 |
23 | private static final StaticPppDllProtocolPacketFactory INSTANCE =
24 | new StaticPppDllProtocolPacketFactory();
25 |
26 | private StaticPppDllProtocolPacketFactory() {
27 | instantiaters.put(
28 | PppDllProtocol.IPV4,
29 | new PacketInstantiater() {
30 | @Override
31 | public Packet newInstance(byte[] rawData, int offset, int length)
32 | throws IllegalRawDataException {
33 | return IpV4Packet.newPacket(rawData, offset, length);
34 | }
35 |
36 | @Override
37 | public Class getTargetClass() {
38 | return IpV4Packet.class;
39 | }
40 | });
41 | instantiaters.put(
42 | PppDllProtocol.IPV6,
43 | new PacketInstantiater() {
44 | @Override
45 | public Packet newInstance(byte[] rawData, int offset, int length)
46 | throws IllegalRawDataException {
47 | return IpV6Packet.newPacket(rawData, offset, length);
48 | }
49 |
50 | @Override
51 | public Class getTargetClass() {
52 | return IpV6Packet.class;
53 | }
54 | });
55 | }
56 |
57 | /** @return the singleton instance of StaticPppDllProtocolPacketFactory. */
58 | public static StaticPppDllProtocolPacketFactory getInstance() {
59 | return INSTANCE;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticProtocolFamilyPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2015-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.IllegalRawDataException;
11 | import org.pcap4j.packet.IpV4Packet;
12 | import org.pcap4j.packet.IpV6Packet;
13 | import org.pcap4j.packet.Packet;
14 | import org.pcap4j.packet.namednumber.ProtocolFamily;
15 |
16 | /**
17 | * @author Kaito Yamada
18 | * @since pcap4j 1.5.0
19 | */
20 | public final class StaticProtocolFamilyPacketFactory
21 | extends AbstractStaticPacketFactory {
22 |
23 | private static final StaticProtocolFamilyPacketFactory INSTANCE =
24 | new StaticProtocolFamilyPacketFactory();
25 |
26 | private StaticProtocolFamilyPacketFactory() {
27 | instantiaters.put(
28 | ProtocolFamily.PF_INET,
29 | new PacketInstantiater() {
30 | @Override
31 | public Packet newInstance(byte[] rawData, int offset, int length)
32 | throws IllegalRawDataException {
33 | return IpV4Packet.newPacket(rawData, offset, length);
34 | }
35 |
36 | @Override
37 | public Class getTargetClass() {
38 | return IpV4Packet.class;
39 | }
40 | });
41 | instantiaters.put(
42 | ProtocolFamily.PF_INET6,
43 | new PacketInstantiater() {
44 | @Override
45 | public Packet newInstance(byte[] rawData, int offset, int length)
46 | throws IllegalRawDataException {
47 | return IpV6Packet.newPacket(rawData, offset, length);
48 | }
49 |
50 | @Override
51 | public Class getTargetClass() {
52 | return IpV6Packet.class;
53 | }
54 | });
55 | }
56 |
57 | /** @return the singleton instance of StaticProtocolFamilyPacketFactory. */
58 | public static StaticProtocolFamilyPacketFactory getInstance() {
59 | return INSTANCE;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticSctpPortPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2016-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.namednumber.SctpPort;
11 |
12 | /**
13 | * @author Jeff Myers
14 | * @since pcap4j 1.6.6
15 | */
16 | public final class StaticSctpPortPacketFactory extends AbstractStaticPacketFactory {
17 |
18 | private static final StaticSctpPortPacketFactory INSTANCE = new StaticSctpPortPacketFactory();
19 |
20 | private StaticSctpPortPacketFactory() {
21 | // instantiaters.put(
22 | // SctpPort.HTTP, new PacketInstantiater() {
23 | // @Override
24 | // public Packet newInstance(
25 | // byte[] rawData, int offset, int length
26 | // ) throws IllegalRawDataException {
27 | // return HttpPacket.newPacket(rawData, offset, length);
28 | // }
29 | // @Override
30 | // public Class getTargetClass() {
31 | // return HttpPacket.class;
32 | // }
33 | // }
34 | // );
35 | }
36 |
37 | /** @return the singleton instance of StaticSctpPortPacketFactory. */
38 | public static StaticSctpPortPacketFactory getInstance() {
39 | return INSTANCE;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticSsh2MessageNumberPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2014-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.IllegalRawDataException;
11 | import org.pcap4j.packet.Packet;
12 | import org.pcap4j.packet.Ssh2KexInitPacket;
13 | import org.pcap4j.packet.namednumber.Ssh2MessageNumber;
14 |
15 | /**
16 | * @author Kaito Yamada
17 | * @since pcap4j 1.0.1
18 | */
19 | public final class StaticSsh2MessageNumberPacketFactory
20 | extends AbstractStaticPacketFactory {
21 |
22 | private static final StaticSsh2MessageNumberPacketFactory INSTANCE =
23 | new StaticSsh2MessageNumberPacketFactory();
24 |
25 | private StaticSsh2MessageNumberPacketFactory() {
26 | instantiaters.put(
27 | Ssh2MessageNumber.SSH_MSG_KEXINIT,
28 | new PacketInstantiater() {
29 | @Override
30 | public Packet newInstance(byte[] rawData, int offset, int length)
31 | throws IllegalRawDataException {
32 | return Ssh2KexInitPacket.newPacket(rawData, offset, length);
33 | }
34 |
35 | @Override
36 | public Class getTargetClass() {
37 | return Ssh2KexInitPacket.class;
38 | }
39 | });
40 | }
41 |
42 | /** @return the singleton instance of StaticSsh2MessageNumberPacketFactory. */
43 | public static StaticSsh2MessageNumberPacketFactory getInstance() {
44 | return INSTANCE;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/StaticTcpPortPacketFactory.java:
--------------------------------------------------------------------------------
1 | /*_##########################################################################
2 | _##
3 | _## Copyright (C) 2013-2019 Pcap4J.org
4 | _##
5 | _##########################################################################
6 | */
7 |
8 | package org.pcap4j.packet.factory.statik;
9 |
10 | import org.pcap4j.packet.DnsPacket;
11 | import org.pcap4j.packet.IllegalRawDataException;
12 | import org.pcap4j.packet.Packet;
13 | import org.pcap4j.packet.namednumber.TcpPort;
14 |
15 | /**
16 | * @author Kaito Yamada
17 | * @since pcap4j 0.9.15
18 | */
19 | public final class StaticTcpPortPacketFactory extends AbstractStaticPacketFactory {
20 |
21 | private static final StaticTcpPortPacketFactory INSTANCE = new StaticTcpPortPacketFactory();
22 |
23 | private StaticTcpPortPacketFactory() {
24 | instantiaters.put(
25 | TcpPort.DOMAIN,
26 | new PacketInstantiater() {
27 | @Override
28 | public Packet newInstance(byte[] rawData, int offset, int length)
29 | throws IllegalRawDataException {
30 | return DnsPacket.newPacket(rawData, offset, length);
31 | }
32 |
33 | @Override
34 | public Class getTargetClass() {
35 | return DnsPacket.class;
36 | }
37 | });
38 | }
39 |
40 | /** @return the singleton instance of StaticTcpPortPacketFactory. */
41 | public static StaticTcpPortPacketFactory getInstance() {
42 | return INSTANCE;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/java/org/pcap4j/packet/factory/statik/services/StaticPacketFactoryBinderProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * ***************************************************************************
3 | * Copyright (C) 2019 Thales AVS, All Rights Reserved. *
4 | * ***************************************************************************
5 | */
6 | package org.pcap4j.packet.factory.statik.services;
7 |
8 | import org.pcap4j.packet.factory.PacketFactoryBinder;
9 | import org.pcap4j.packet.factory.PacketFactoryBinderProvider;
10 |
11 | /**
12 | * @author Jordan Dubie
13 | * @since pcap4j 1.8.0
14 | */
15 | public class StaticPacketFactoryBinderProvider implements PacketFactoryBinderProvider {
16 |
17 | @Override
18 | public PacketFactoryBinder getBinder() {
19 | return StaticPacketFactoryBinder.getInstance();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/main/resources/META-INF/services/org.pcap4j.packet.factory.PacketFactoryBinderProvider:
--------------------------------------------------------------------------------
1 | org.pcap4j.packet.factory.statik.services.StaticPacketFactoryBinderProvider
2 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/test/resources/logback-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
7 |
8 |
9 |
10 |
11 | target/test/test.log
12 | false
13 |
14 |
15 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/pcap4j-packetfactory-static/src/test/resources/org/pcap4j/test/core/udp_tcp_icmp.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packetfactory-static/src/test/resources/org/pcap4j/test/core/udp_tcp_icmp.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 4.0.0
6 | pcap4j-packettest
7 | jar
8 | Pcap4J Packet Test
9 | Tests of Pcap4J packet classes.
10 |
11 |
12 | org.pcap4j
13 | pcap4j
14 | 1.8.3-SNAPSHOT
15 |
16 |
17 |
18 |
19 | org.pcap4j
20 | pcap4j-core
21 |
22 |
23 | junit
24 | junit
25 | test
26 |
27 |
28 |
29 |
30 |
31 |
32 | org.apache.maven.plugins
33 | maven-compiler-plugin
34 |
35 |
36 | default-testCompile
37 |
38 | 6
39 |
40 |
41 |
42 |
43 |
44 | org.apache.maven.plugins
45 | maven-surefire-plugin
46 |
47 | true
48 |
49 |
50 |
51 | org.apache.maven.plugins
52 | maven-jar-plugin
53 |
54 |
55 |
56 | test-jar
57 |
58 |
59 |
60 |
61 |
62 |
63 | org.pcap4j.packettest
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/ArpPacketTest.log:
--------------------------------------------------------------------------------
1 | [ARP Header (28 bytes)]
2 | Hardware type: 1 (Ethernet (10Mb))
3 | Protocol type: 0x0800 (IPv4)
4 | Hardware address length: 6 [bytes]
5 | Protocol address length: 4 [bytes]
6 | Operation: 1 (REQUEST)
7 | Source hardware address: fe:00:00:00:00:01
8 | Source protocol address: /192.0.2.1
9 | Destination hardware address: ff:ff:ff:ff:ff:ff
10 | Destination protocol address: /192.0.2.2
11 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/ArpPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/ArpPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/ArpPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/ArpPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/BsdLoopbackPacketTest.log:
--------------------------------------------------------------------------------
1 | [BSD Loopback Header (4 bytes)]
2 | Protocol Family: 2 (PF_INET)
3 | [IPv4 Header (20 bytes)]
4 | Version: 4 (IPv4)
5 | IHL: 5 (20 [bytes])
6 | TOS: [precedence: 0 (Routine)] [tos: 0 (Default)] [mbz: 0]
7 | Total length: 32 [bytes]
8 | Identification: 100
9 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
10 | Fragment offset: 0 (0 [bytes])
11 | TTL: 100
12 | Protocol: 1 (ICMPv4)
13 | Header checksum: 0xd275
14 | Source address: /192.0.2.1
15 | Destination address: /192.0.2.2
16 | [ICMPv4 Common Header (4 bytes)]
17 | Type: 8 (Echo)
18 | Code: 0 (No Code)
19 | Checksum: 0xe048
20 | [ICMPv4 Echo Header (4 bytes)]
21 | Identifier: 1234
22 | SequenceNumber: 4321
23 | [data (4 bytes)]
24 | Hex stream: 00 01 02 03
25 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/BsdLoopbackPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/BsdLoopbackPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/BsdLoopbackPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/BsdLoopbackPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/DltRawTest.log:
--------------------------------------------------------------------------------
1 | [IPv4 Header (20 bytes)]
2 | Version: 4 (IPv4)
3 | IHL: 5 (20 [bytes])
4 | TOS: [precedence: 0 (Routine)] [tos: 0 (Default)] [mbz: 0]
5 | Total length: 32 [bytes]
6 | Identification: 100
7 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
8 | Fragment offset: 0 (0 [bytes])
9 | TTL: 100
10 | Protocol: 1 (ICMPv4)
11 | Header checksum: 0xd275
12 | Source address: /192.0.2.1
13 | Destination address: /192.0.2.2
14 | [ICMPv4 Common Header (4 bytes)]
15 | Type: 8 (Echo)
16 | Code: 0 (No Code)
17 | Checksum: 0xe048
18 | [ICMPv4 Echo Header (4 bytes)]
19 | Identifier: 1234
20 | SequenceNumber: 4321
21 | [data (4 bytes)]
22 | Hex stream: 00 01 02 03
23 |
24 | [IPv6 Header (40 bytes)]
25 | Version: 6 (IPv6)
26 | Traffic Class: 0x12
27 | Flow Label: 0x12345
28 | Payload length: 12 [bytes]
29 | Next Header: 58 (ICMPv6)
30 | Hop Limit: 100
31 | Source address: /2001:db8:0:0:0:3:2:1
32 | Destination address: /2001:db8:0:0:0:3:2:2
33 | [ICMPv6 Common Header (4 bytes)]
34 | Type: 128 (Echo Request)
35 | Code: 0 (No Code)
36 | Checksum: 0x0c83
37 | [ICMPv6 Echo Request Header (4 bytes)]
38 | Identifier: 1234
39 | SequenceNumber: 4321
40 | [data (4 bytes)]
41 | Hex stream: 00 01 02 03
42 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/DltRawTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/DltRawTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/DnsPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/DnsPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/DnsPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/DnsPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/Dot11ProbeRequestPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/Dot11ProbeRequestPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/Dot11ProbeRequestPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/Dot11ProbeRequestPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/Dot1qVlanTaggedPacketTest.log:
--------------------------------------------------------------------------------
1 | [IEEE802.1Q Tag header (4 bytes)]
2 | Priority: 3
3 | CFI: 0
4 | VID: 123
5 | Type: 0x0806 (ARP)
6 | [ARP Header (28 bytes)]
7 | Hardware type: 1 (Ethernet (10Mb))
8 | Protocol type: 0x0800 (IPv4)
9 | Hardware address length: 6 [bytes]
10 | Protocol address length: 4 [bytes]
11 | Operation: 1 (REQUEST)
12 | Source hardware address: fe:00:00:00:00:01
13 | Source protocol address: /192.0.2.1
14 | Destination hardware address: ff:ff:ff:ff:ff:ff
15 | Destination protocol address: /192.0.2.2
16 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/Dot1qVlanTaggedPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/Dot1qVlanTaggedPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/Dot1qVlanTaggedPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/Dot1qVlanTaggedPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/EthernetPacketTest.log:
--------------------------------------------------------------------------------
1 | [Ethernet Header (14 bytes)]
2 | Destination address: ff:ff:ff:ff:ff:ff
3 | Source address: fe:00:00:00:00:01
4 | Type: 0x0806 (ARP)
5 | [ARP Header (28 bytes)]
6 | Hardware type: 1 (Ethernet (10Mb))
7 | Protocol type: 0x0800 (IPv4)
8 | Hardware address length: 6 [bytes]
9 | Protocol address length: 4 [bytes]
10 | Operation: 1 (REQUEST)
11 | Source hardware address: fe:00:00:00:00:01
12 | Source protocol address: /192.0.2.1
13 | Destination hardware address: ff:ff:ff:ff:ff:ff
14 | Destination protocol address: /192.0.2.2
15 | [Ethernet Pad (30 bytes)]
16 | Hex stream: 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
17 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/EthernetPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/EthernetPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/EthernetPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/EthernetPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/GtpV1ExtPduSessionContainerPacketTest.log:
--------------------------------------------------------------------------------
1 | [GTP Extension PDU Session Container Header (8 bytes)]
2 | Extension Header Length: 2 (8 bytes)
3 | PDU Type: 0 (DL PDU SESSION INFORMATION)
4 | spare 1: 0x05
5 | Paging Policy Presence: true (Paging Policy Indicator present)
6 | Reflective QoS Indicator: false (Reflective QoS activation not triggered)
7 | Qos Flow Identifier: 15
8 | Paging Policy Indicator: 7
9 | spare 2: 0x12
10 | Padding: 03 02 01
11 | Next Extension Header Type: 0x00 (No more extension headers)
12 | [data (4 bytes)]
13 | Hex stream: 00 01 02 03
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/GtpV1ExtPduSessionContainerPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/GtpV1ExtPduSessionContainerPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/GtpV1ExtPduSessionContainerPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/GtpV1ExtPduSessionContainerPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/GtpV1PacketTest.log:
--------------------------------------------------------------------------------
1 | [GTPv1 Header (12 bytes)]
2 | Version: V1
3 | Protocol Type: GTP
4 | Reserved Flag: false
5 | Extension Flag: false
6 | Sequence Flag: true
7 | NPDU Flag: true
8 | Message Type: 2 (Echo Response)
9 | Length: 8 [bytes]
10 | Tunnel ID: 1234567890
11 | Sequence Number: 4321
12 | NPDU Number: 222
13 | Next Extension Header Type: 0xc0 (PDCP PDU number)
14 | [data (4 bytes)]
15 | Hex stream: 00 01 02 03
16 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/GtpV1PacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/GtpV1PacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/GtpV1PacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/GtpV1PacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/HdlcPppPacketTest.log:
--------------------------------------------------------------------------------
1 | [HDLC-encapsulated PPP Header (4 bytes)]
2 | Address: 0xff
3 | Control: 0x03
4 | Protocol: 0x0021 (IPv4)
5 | [IPv4 Header (20 bytes)]
6 | Version: 4 (IPv4)
7 | IHL: 5 (20 [bytes])
8 | TOS: [precedence: 3 (Flash)] [tos: 10 (unknown)] [mbz: 1]
9 | Total length: 32 [bytes]
10 | Identification: 123
11 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
12 | Fragment offset: 0 (0 [bytes])
13 | TTL: 111
14 | Protocol: 1 (ICMPv4)
15 | Header checksum: 0xc6e9
16 | Source address: /192.0.2.1
17 | Destination address: /192.0.2.2
18 | [ICMPv4 Common Header (4 bytes)]
19 | Type: 8 (Echo)
20 | Code: 0 (No Code)
21 | Checksum: 0xe048
22 | [ICMPv4 Echo Header (4 bytes)]
23 | Identifier: 1234
24 | SequenceNumber: 4321
25 | [data (4 bytes)]
26 | Hex stream: 00 01 02 03
27 | [PPP Pad (30 bytes)]
28 | Hex stream: 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
29 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/HdlcPppPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/HdlcPppPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/HdlcPppPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/HdlcPppPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4CommonPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Common Header (4 bytes)]
2 | Type: 8 (Echo)
3 | Code: 0 (No Code)
4 | Checksum: 0x1234
5 | [ICMPv4 Echo Header (4 bytes)]
6 | Identifier: 100
7 | SequenceNumber: 10
8 | [data (4 bytes)]
9 | Hex stream: 00 01 02 03
10 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4CommonPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4CommonPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4CommonPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4CommonPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4DestinationUnreachablePacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Destination Unreachable Header (4 bytes)]
2 | Unused: 12345
3 | [IPv4 Header (20 bytes)]
4 | Version: 4 (IPv4)
5 | IHL: 5 (20 [bytes])
6 | TOS: [precedence: 0 (Routine)] [tos: 0 (Default)] [mbz: 0]
7 | Total length: 31 [bytes]
8 | Identification: 100
9 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
10 | Fragment offset: 0 (0 [bytes])
11 | TTL: 100
12 | Protocol: 1 (ICMPv4)
13 | Header checksum: 0xd276
14 | Source address: /192.0.2.2
15 | Destination address: /192.0.2.1
16 | [ICMPv4 Common Header (4 bytes)]
17 | Type: 8 (Echo)
18 | Code: 0 (No Code)
19 | Checksum: 0xf590
20 | [ICMPv4 Echo Header (4 bytes)]
21 | Identifier: 100
22 | SequenceNumber: 10
23 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4DestinationUnreachablePacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4DestinationUnreachablePacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4DestinationUnreachablePacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4DestinationUnreachablePacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4EchoPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Echo Header (4 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 | [data (4 bytes)]
5 | Hex stream: 00 01 02 03
6 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4EchoPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4EchoPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4EchoPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4EchoPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4EchoReplyPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Echo Reply Header (4 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 | [data (4 bytes)]
5 | Hex stream: 00 01 02 03
6 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4EchoReplyPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4EchoReplyPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4EchoReplyPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4EchoReplyPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4InformationReplyPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Information Reply Header (4 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4InformationReplyPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4InformationReplyPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4InformationReplyPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4InformationReplyPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4InformationRequestPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Information Request Header (4 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4InformationRequestPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4InformationRequestPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4InformationRequestPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4InformationRequestPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4ParameterProblemPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Parameter Problem Header (4 bytes)]
2 | Pointer: 123
3 | Unused: 321
4 | [IPv4 Header (20 bytes)]
5 | Version: 4 (IPv4)
6 | IHL: 5 (20 [bytes])
7 | TOS: [precedence: 0 (Routine)] [tos: 0 (Default)] [mbz: 0]
8 | Total length: 31 [bytes]
9 | Identification: 100
10 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
11 | Fragment offset: 0 (0 [bytes])
12 | TTL: 100
13 | Protocol: 1 (ICMPv4)
14 | Header checksum: 0xd276
15 | Source address: /192.0.2.2
16 | Destination address: /192.0.2.1
17 | [ICMPv4 Common Header (4 bytes)]
18 | Type: 8 (Echo)
19 | Code: 0 (No Code)
20 | Checksum: 0xf590
21 | [ICMPv4 Echo Header (4 bytes)]
22 | Identifier: 100
23 | SequenceNumber: 10
24 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4ParameterProblemPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4ParameterProblemPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4ParameterProblemPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4ParameterProblemPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4RedirectPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Redirect Header (4 bytes)]
2 | Gateway Internet Address: /192.0.2.254
3 | [IPv4 Header (20 bytes)]
4 | Version: 4 (IPv4)
5 | IHL: 5 (20 [bytes])
6 | TOS: [precedence: 0 (Routine)] [tos: 0 (Default)] [mbz: 0]
7 | Total length: 31 [bytes]
8 | Identification: 100
9 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
10 | Fragment offset: 0 (0 [bytes])
11 | TTL: 100
12 | Protocol: 1 (ICMPv4)
13 | Header checksum: 0xd276
14 | Source address: /192.0.2.2
15 | Destination address: /192.0.2.1
16 | [ICMPv4 Common Header (4 bytes)]
17 | Type: 8 (Echo)
18 | Code: 0 (No Code)
19 | Checksum: 0xf590
20 | [ICMPv4 Echo Header (4 bytes)]
21 | Identifier: 100
22 | SequenceNumber: 10
23 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4RedirectPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4RedirectPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4RedirectPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4RedirectPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4SourceQuenchPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Source Quench Header (4 bytes)]
2 | Unused: 12345
3 | [IPv4 Header (20 bytes)]
4 | Version: 4 (IPv4)
5 | IHL: 5 (20 [bytes])
6 | TOS: [precedence: 0 (Routine)] [tos: 0 (Default)] [mbz: 0]
7 | Total length: 31 [bytes]
8 | Identification: 100
9 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
10 | Fragment offset: 0 (0 [bytes])
11 | TTL: 100
12 | Protocol: 1 (ICMPv4)
13 | Header checksum: 0xd276
14 | Source address: /192.0.2.2
15 | Destination address: /192.0.2.1
16 | [ICMPv4 Common Header (4 bytes)]
17 | Type: 8 (Echo)
18 | Code: 0 (No Code)
19 | Checksum: 0xf590
20 | [ICMPv4 Echo Header (4 bytes)]
21 | Identifier: 100
22 | SequenceNumber: 10
23 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4SourceQuenchPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4SourceQuenchPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4SourceQuenchPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4SourceQuenchPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimeExceededPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Time Exceeded Header (4 bytes)]
2 | Unused: 12345
3 | [IPv4 Header (20 bytes)]
4 | Version: 4 (IPv4)
5 | IHL: 5 (20 [bytes])
6 | TOS: [precedence: 0 (Routine)] [tos: 0 (Default)] [mbz: 0]
7 | Total length: 31 [bytes]
8 | Identification: 100
9 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
10 | Fragment offset: 0 (0 [bytes])
11 | TTL: 100
12 | Protocol: 1 (ICMPv4)
13 | Header checksum: 0xd276
14 | Source address: /192.0.2.2
15 | Destination address: /192.0.2.1
16 | [ICMPv4 Common Header (4 bytes)]
17 | Type: 8 (Echo)
18 | Code: 0 (No Code)
19 | Checksum: 0xf590
20 | [ICMPv4 Echo Header (4 bytes)]
21 | Identifier: 100
22 | SequenceNumber: 10
23 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimeExceededPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4TimeExceededPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimeExceededPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4TimeExceededPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimestampPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Timestamp Header (16 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 | Originate Timestamp: 10
5 | Receive Timestamp: 200
6 | Transmit Timestamp: 3000
7 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimestampPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4TimestampPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimestampPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4TimestampPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimestampReplyPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv4 Timestamp Reply Header (16 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 | Originate Timestamp: 10
5 | Receive Timestamp: 200
6 | Transmit Timestamp: 3000
7 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimestampReplyPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4TimestampReplyPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV4TimestampReplyPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV4TimestampReplyPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6CommonPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Common Header (4 bytes)]
2 | Type: 128 (Echo Request)
3 | Code: 0 (No Code)
4 | Checksum: 0x1234
5 | [ICMPv6 Echo Request Header (4 bytes)]
6 | Identifier: 100
7 | SequenceNumber: 10
8 | [data (4 bytes)]
9 | Hex stream: 00 01 02 03
10 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6CommonPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6CommonPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6CommonPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6CommonPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6DestinationUnreachablePacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Destination Unreachable Header (4 bytes)]
2 | Unused: 12345
3 | [IPv6 Header (40 bytes)]
4 | Version: 6 (IPv6)
5 | Traffic Class: 0x12
6 | Flow Label: 0x12345
7 | Payload length: 11 [bytes]
8 | Next Header: 58 (ICMPv6)
9 | Hop Limit: 100
10 | Source address: /2001:db8:0:0:0:3:2:1
11 | Destination address: /2001:db8:0:0:0:3:2:2
12 | [ICMPv6 Common Header (4 bytes)]
13 | Type: 128 (Echo Request)
14 | Code: 0 (No Code)
15 | Checksum: 0x21cc
16 | [ICMPv6 Echo Request Header (4 bytes)]
17 | Identifier: 100
18 | SequenceNumber: 10
19 | [data (3 bytes)]
20 | Hex stream: 00 01 02
21 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6DestinationUnreachablePacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6DestinationUnreachablePacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6DestinationUnreachablePacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6DestinationUnreachablePacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6EchoReplyPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Echo Reply Header (4 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 | [data (4 bytes)]
5 | Hex stream: 00 01 02 03
6 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6EchoReplyPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6EchoReplyPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6EchoReplyPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6EchoReplyPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6EchoRequestPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Echo Request Header (4 bytes)]
2 | Identifier: 1234
3 | SequenceNumber: 4321
4 | [data (4 bytes)]
5 | Hex stream: 00 01 02 03
6 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6EchoRequestPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6EchoRequestPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6EchoRequestPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6EchoRequestPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryReplyPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Home Agent Address Discovery Reply Header (36 bytes)]
2 | Identifier: 1234
3 | Reserved: 12345
4 | HomeAgentAddress: /2001:db8:0:0:aaaa:bbbb:0:0
5 | HomeAgentAddress: /2001:db8:0:0:aaaa:bbbb:0:1
6 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryReplyPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryReplyPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryReplyPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryReplyPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryRequestPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Home Agent Address Discovery Request Header (4 bytes)]
2 | Identifier: 1234
3 | Reserved: 12345
4 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryRequestPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryRequestPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryRequestPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6HomeAgentAddressDiscoveryRequestPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixAdvertisementPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Mobile Prefix Advertisement Header (52 bytes)]
2 | Identifier: 1234
3 | ManagedAddressConfigurationFlag: true
4 | OtherStatefulConfigurationFlag: false
5 | Reserved: 10
6 | Option: [Type: 1 (Source Link-layer Address)] [Length: 1 (8 bytes)] [linkLayerAddress: ff 00 00 01 02 03]
7 | Option: [Type: 5 (MTU)] [Length: 1 (8 bytes)] [Reserved: -34] [MTU: 9999999]
8 | Option: [Type: 3 (Prefix Information)] [Length: 4 (32 bytes)] [Prefix Length: 96] [on-link flag: true] [address-configuration flag: false] [Reserved1: 22] [Valid Lifetime: 2222222] [Preferred Lifetime: 777777777] [Reserved2: 1212121212] [Prefix: /2001:db8:0:0:aaaa:bbbb:0:0]
9 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixAdvertisementPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixAdvertisementPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixAdvertisementPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixAdvertisementPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixSolicitationPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Mobile Prefix Solicitation Header (4 bytes)]
2 | Identifier: 1234
3 | Reserved: 12345
4 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixSolicitationPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixSolicitationPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixSolicitationPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6MobilePrefixSolicitationPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6NeighborAdvertisementPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Neighbor Advertisement Header (28 bytes)]
2 | Router flag: true
3 | Solicited flag: false
4 | Override flag: true
5 | Reserved: 123454321
6 | Target Address: /2001:db8:0:0:aaaa:bbbb:0:0
7 | Option: [Type: 2 (Target Link-layer Address)] [Length: 1 (8 bytes)] [linkLayerAddress: ff 00 00 ff ee dd]
8 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6NeighborAdvertisementPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6NeighborAdvertisementPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6NeighborAdvertisementPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6NeighborAdvertisementPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6NeighborSolicitationPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Neighbor Solicitation Header (28 bytes)]
2 | Reserved: 123454321
3 | Target Address: /2001:db8:0:0:aaaa:bbbb:0:0
4 | Option: [Type: 1 (Source Link-layer Address)] [Length: 1 (8 bytes)] [linkLayerAddress: ff 00 00 01 02 03]
5 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6NeighborSolicitationPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6NeighborSolicitationPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6NeighborSolicitationPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6NeighborSolicitationPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6PacketTooBigPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Packet Too Big Header (4 bytes)]
2 | MTU: 12345
3 | [IPv6 Header (40 bytes)]
4 | Version: 6 (IPv6)
5 | Traffic Class: 0x12
6 | Flow Label: 0x12345
7 | Payload length: 11 [bytes]
8 | Next Header: 58 (ICMPv6)
9 | Hop Limit: 100
10 | Source address: /2001:db8:0:0:0:3:2:1
11 | Destination address: /2001:db8:0:0:0:3:2:2
12 | [ICMPv6 Common Header (4 bytes)]
13 | Type: 128 (Echo Request)
14 | Code: 0 (No Code)
15 | Checksum: 0x21cc
16 | [ICMPv6 Echo Request Header (4 bytes)]
17 | Identifier: 100
18 | SequenceNumber: 10
19 | [data (3 bytes)]
20 | Hex stream: 00 01 02
21 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6PacketTooBigPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6PacketTooBigPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6PacketTooBigPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6PacketTooBigPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6ParameterProblemPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Parameter Problem Header (4 bytes)]
2 | Pointer: 12345
3 | [IPv6 Header (40 bytes)]
4 | Version: 6 (IPv6)
5 | Traffic Class: 0x12
6 | Flow Label: 0x12345
7 | Payload length: 11 [bytes]
8 | Next Header: 58 (ICMPv6)
9 | Hop Limit: 100
10 | Source address: /2001:db8:0:0:0:3:2:1
11 | Destination address: /2001:db8:0:0:0:3:2:2
12 | [ICMPv6 Common Header (4 bytes)]
13 | Type: 128 (Echo Request)
14 | Code: 0 (No Code)
15 | Checksum: 0x21cc
16 | [ICMPv6 Echo Request Header (4 bytes)]
17 | Identifier: 100
18 | SequenceNumber: 10
19 | [data (3 bytes)]
20 | Hex stream: 00 01 02
21 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6ParameterProblemPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6ParameterProblemPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6ParameterProblemPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6ParameterProblemPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RedirectPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Redirect Header (100 bytes)]
2 | Reserved: 123454321
3 | Target Address: /2001:db8:0:0:aaaa:bbbb:0:1
4 | Destination Address: /2001:db8:0:0:aaaa:bbbb:0:254
5 | Option: [Type: 2 (Target Link-layer Address)] [Length: 1 (8 bytes)] [linkLayerAddress: ff 00 00 01 02 03]
6 | Option: [Type: 4 (Redirected Header)] [Length: 7 (56 bytes)] [Reserved: 00 11 22 33 44 55] [IP header + data: {[IPv6 Header (40 bytes)]
7 | Version: 6 (IPv6)
8 | Traffic Class: 0x12
9 | Flow Label: 0x12345
10 | Payload length: 11 [bytes]
11 | Next Header: 58 (ICMPv6)
12 | Hop Limit: 100
13 | Source address: /2001:db8:0:0:0:3:2:1
14 | Destination address: /2001:db8:0:0:0:3:2:2
15 | [ICMPv6 Common Header (4 bytes)]
16 | Type: 128 (Echo Request)
17 | Code: 0 (No Code)
18 | Checksum: 0x21cc
19 | [ICMPv6 Echo Request Header (4 bytes)]
20 | Identifier: 100
21 | SequenceNumber: 10
22 | }]
23 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RedirectPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6RedirectPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RedirectPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6RedirectPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RouterAdvertisementPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Router Advertisement Header (60 bytes)]
2 | Cur Hop Limit: 123
3 | Managed address configuration flag: true
4 | Other configuration flag: false
5 | Reserved: 10
6 | Router Lifetime: 55555
7 | Reachable Time: 3333333
8 | Retrans Timer: 111111
9 | Option: [Type: 1 (Source Link-layer Address)] [Length: 1 (8 bytes)] [linkLayerAddress: ff 00 00 01 02 03]
10 | Option: [Type: 5 (MTU)] [Length: 1 (8 bytes)] [Reserved: -34] [MTU: 9999999]
11 | Option: [Type: 3 (Prefix Information)] [Length: 4 (32 bytes)] [Prefix Length: 96] [on-link flag: true] [address-configuration flag: false] [Reserved1: 22] [Valid Lifetime: 2222222] [Preferred Lifetime: 777777777] [Reserved2: 1212121212] [Prefix: /2001:db8:0:0:aaaa:bbbb:0:0]
12 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RouterAdvertisementPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6RouterAdvertisementPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RouterAdvertisementPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6RouterAdvertisementPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RouterSolicitationPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Router Solicitation Header (12 bytes)]
2 | Reserved: 123454321
3 | Option: [Type: 1 (Source Link-layer Address)] [Length: 1 (8 bytes)] [linkLayerAddress: ff 00 00 01 02 03]
4 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RouterSolicitationPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6RouterSolicitationPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6RouterSolicitationPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6RouterSolicitationPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6TimeExceededPacketTest.log:
--------------------------------------------------------------------------------
1 | [ICMPv6 Time Exceeded Header (4 bytes)]
2 | Unused: 12345
3 | [IPv6 Header (40 bytes)]
4 | Version: 6 (IPv6)
5 | Traffic Class: 0x12
6 | Flow Label: 0x12345
7 | Payload length: 11 [bytes]
8 | Next Header: 58 (ICMPv6)
9 | Hop Limit: 100
10 | Source address: /2001:db8:0:0:0:3:2:1
11 | Destination address: /2001:db8:0:0:0:3:2:2
12 | [ICMPv6 Common Header (4 bytes)]
13 | Type: 128 (Echo Request)
14 | Code: 0 (No Code)
15 | Checksum: 0x21cc
16 | [ICMPv6 Echo Request Header (4 bytes)]
17 | Identifier: 100
18 | SequenceNumber: 10
19 | [data (3 bytes)]
20 | Hex stream: 00 01 02
21 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6TimeExceededPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6TimeExceededPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IcmpV6TimeExceededPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IcmpV6TimeExceededPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV4HelperTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV4HelperTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV4PacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV4PacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV4PacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV4PacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtDestinationOptionsPacketTest.log:
--------------------------------------------------------------------------------
1 | [IPv6 Destination Options Header (8 bytes)]
2 | Next Header: 17 (UDP)
3 | Hdr Ext Len: 0 (8 [bytes])
4 | Options:
5 | [Option Type: 0x00 (Pad1)]
6 | [Option Type: 0x01 (PadN)] [Option Data Len: 3 bytes] [Option Data: 0x000000]
7 | [UDP Header (8 bytes)]
8 | Source port: 162 (SNMP Trap)
9 | Destination port: 0 (unknown)
10 | Length: 12 [bytes]
11 | Checksum: 0xa1b1
12 | [data (4 bytes)]
13 | Hex stream: 00 01 02 03
14 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtDestinationOptionsPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtDestinationOptionsPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtDestinationOptionsPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtDestinationOptionsPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtFragmentPacketTest.log:
--------------------------------------------------------------------------------
1 | [IPv6 Fragment Header (8 bytes)]
2 | Next Header: 17 (UDP)
3 | Reserved: 63
4 | Fragment Offset: 0
5 | Res: 01
6 | M: true
7 | Identification: 654321
8 | [Fragmented data (8 bytes)]
9 | Hex stream: 00 a2 00 00 00 10 97 9d
10 | [IPv6 Fragment Header (8 bytes)]
11 | Next Header: 17 (UDP)
12 | Reserved: 63
13 | Fragment Offset: 1
14 | Res: 01
15 | M: false
16 | Identification: 654321
17 | [Fragmented data (8 bytes)]
18 | Hex stream: 00 01 02 03 04 05 06 07
19 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtFragmentPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtFragmentPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtFragmentPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtFragmentPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtHopByHopOptionsPacketTest.log:
--------------------------------------------------------------------------------
1 | [IPv6 Hop-by-Hop Options Header (8 bytes)]
2 | Next Header: 17 (UDP)
3 | Hdr Ext Len: 0 (8 [bytes])
4 | Options:
5 | [Option Type: 0x00 (Pad1)]
6 | [Option Type: 0x01 (PadN)] [Option Data Len: 3 bytes] [Option Data: 0x000000]
7 | [UDP Header (8 bytes)]
8 | Source port: 162 (SNMP Trap)
9 | Destination port: 0 (unknown)
10 | Length: 12 [bytes]
11 | Checksum: 0xa1b1
12 | [data (4 bytes)]
13 | Hex stream: 00 01 02 03
14 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtHopByHopOptionsPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtHopByHopOptionsPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtHopByHopOptionsPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtHopByHopOptionsPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtRoutingPacketTest.log:
--------------------------------------------------------------------------------
1 | [IPv6 Routing Header (56 bytes)]
2 | Next Header: 17 (UDP)
3 | Hdr Ext Len: 6 (56 [bytes])
4 | Routing Type: 0 (Source Route)
5 | Segments Left: 2
6 | type-specific data: [reserved: 54321] [addresses: /abcd:ef:0:0:0:1:1:1 /abcd:ef:0:0:0:2:2:2 /2001:db8:0:0:0:3:2:2]
7 | [UDP Header (8 bytes)]
8 | Source port: 162 (SNMP Trap)
9 | Destination port: 0 (unknown)
10 | Length: 12 [bytes]
11 | Checksum: 0xa1b1
12 | [data (4 bytes)]
13 | Hex stream: 00 01 02 03
14 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtRoutingPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtRoutingPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtRoutingPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtRoutingPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtUnknownPacketTest.log:
--------------------------------------------------------------------------------
1 | [IPv6 Unknown Extension Header (16 bytes)]
2 | Next Header: 17 (UDP)
3 | Hdr Ext Len: 1 (16 [bytes])
4 | data: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d
5 | [UDP Header (8 bytes)]
6 | Source port: 162 (SNMP Trap)
7 | Destination port: 0 (unknown)
8 | Length: 12 [bytes]
9 | Checksum: 0xa1b1
10 | [data (4 bytes)]
11 | Hex stream: 00 01 02 03
12 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtUnknownPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtUnknownPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6ExtUnknownPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6ExtUnknownPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6PacketTest.log:
--------------------------------------------------------------------------------
1 | [IPv6 Header (40 bytes)]
2 | Version: 6 (IPv6)
3 | Traffic Class: 0x12
4 | Flow Label: 0x12345
5 | Payload length: 12 [bytes]
6 | Next Header: 17 (UDP)
7 | Hop Limit: 100
8 | Source address: /2001:db8:0:0:0:3:2:1
9 | Destination address: /2001:db8:0:0:0:3:2:2
10 | [UDP Header (8 bytes)]
11 | Source port: 162 (SNMP Trap)
12 | Destination port: 0 (unknown)
13 | Length: 12 [bytes]
14 | Checksum: 0xa1b1
15 | [data (4 bytes)]
16 | Hex stream: 00 01 02 03
17 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6PacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6PacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/IpV6PacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/IpV6PacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LinuxSllPacketTest.log:
--------------------------------------------------------------------------------
1 | [Linux SLL header (16 bytes)]
2 | Packet Type: 0 (A packet addressed to the local host)
3 | Address Type: 1 (Ethernet (10Mb))
4 | Address Length: 4
5 | Address: ff:ee:dd:cc (ff ee dd cc 11 22 33 44)
6 | Protocol: 0x0806 (ARP)
7 | [ARP Header (28 bytes)]
8 | Hardware type: 1 (Ethernet (10Mb))
9 | Protocol type: 0x0800 (IPv4)
10 | Hardware address length: 6 [bytes]
11 | Protocol address length: 4 [bytes]
12 | Operation: 1 (REQUEST)
13 | Source hardware address: aa:bb:cc:dd:ee:ff
14 | Source protocol address: /192.0.2.1
15 | Destination hardware address: 11:22:33:44:55:66
16 | Destination protocol address: /192.0.2.2
17 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LinuxSllPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LinuxSllPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LinuxSllPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LinuxSllPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcInformationPacketTest.log:
--------------------------------------------------------------------------------
1 | [Logical Link Control header (4 bytes)]
2 | DSAP: 0 (NULL LSAP)
3 | SSAP: 0 (NULL LSAP)
4 | Control: [receive sequence number: 10] [P/F bit: 0] [send sequence number: 100]
5 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcInformationPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LlcInformationPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcInformationPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LlcInformationPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcSupervisoryPacketTest.log:
--------------------------------------------------------------------------------
1 | [Logical Link Control header (4 bytes)]
2 | DSAP: 0 (NULL LSAP)
3 | SSAP: 0 (NULL LSAP)
4 | Control: [receive sequence number: 127] [P/F bit: 0] [reserved: 10] [supervisory function: 2 (Reject)]
5 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcSupervisoryPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LlcSupervisoryPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcSupervisoryPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LlcSupervisoryPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcUnnumberedPacketTest.log:
--------------------------------------------------------------------------------
1 | [Logical Link Control header (3 bytes)]
2 | DSAP: 152 (ARP)
3 | SSAP: 152 (ARP)
4 | Control: [modifier function: 0 (UI)] [P/F bit: 0]
5 | [ARP Header (28 bytes)]
6 | Hardware type: 1 (Ethernet (10Mb))
7 | Protocol type: 0x0800 (IPv4)
8 | Hardware address length: 6 [bytes]
9 | Protocol address length: 4 [bytes]
10 | Operation: 1 (REQUEST)
11 | Source hardware address: fe:00:00:00:00:01
12 | Source protocol address: /192.0.2.1
13 | Destination hardware address: ff:ff:ff:ff:ff:ff
14 | Destination protocol address: /192.0.2.2
15 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcUnnumberedPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LlcUnnumberedPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/LlcUnnumberedPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/LlcUnnumberedPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/PppPacketTest.log:
--------------------------------------------------------------------------------
1 | [PPP Header (2 bytes)]
2 | Protocol: 0x0021 (IPv4)
3 | [IPv4 Header (20 bytes)]
4 | Version: 4 (IPv4)
5 | IHL: 5 (20 [bytes])
6 | TOS: [precedence: 3 (Flash)] [tos: 10 (unknown)] [mbz: 1]
7 | Total length: 32 [bytes]
8 | Identification: 123
9 | Flags: (Reserved, Don't Fragment, More Fragment) = (false, false, false)
10 | Fragment offset: 0 (0 [bytes])
11 | TTL: 111
12 | Protocol: 1 (ICMPv4)
13 | Header checksum: 0xc6e9
14 | Source address: /192.0.2.1
15 | Destination address: /192.0.2.2
16 | [ICMPv4 Common Header (4 bytes)]
17 | Type: 8 (Echo)
18 | Code: 0 (No Code)
19 | Checksum: 0xe048
20 | [ICMPv4 Echo Header (4 bytes)]
21 | Identifier: 1234
22 | SequenceNumber: 4321
23 | [data (4 bytes)]
24 | Hex stream: 00 01 02 03
25 | [PPP Pad (30 bytes)]
26 | Hex stream: 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
27 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/PppPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/PppPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/PppPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/PppPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/RadiotapPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/RadiotapPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/RadiotapPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/RadiotapPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/SctpPacketTest.log:
--------------------------------------------------------------------------------
1 | [SCTP Header (20 bytes)]
2 | Source port: 0 (unknown)
3 | Destination port: 80 (HTTP)
4 | Verification tag: 0xfadefade
5 | Checksum: 0xabcdabcd
6 | Chunks:
7 | [Type: 7 (Shutdown), Flags: 0xaf, Length: 8 bytes, Value: 0x01020304]
8 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/SctpPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/SctpPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/SctpPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/SctpPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/SnapPacketTest.log:
--------------------------------------------------------------------------------
1 | [Subnetwork Access Protocol header (5 bytes)]
2 | OUI: 00-00-0c (Cisco)
3 | Protocol ID: 0x0806 (ARP)
4 | [ARP Header (28 bytes)]
5 | Hardware type: 1 (Ethernet (10Mb))
6 | Protocol type: 0x0800 (IPv4)
7 | Hardware address length: 6 [bytes]
8 | Protocol address length: 4 [bytes]
9 | Operation: 1 (REQUEST)
10 | Source hardware address: fe:00:00:00:00:01
11 | Source protocol address: /192.0.2.1
12 | Destination hardware address: ff:ff:ff:ff:ff:ff
13 | Destination protocol address: /192.0.2.2
14 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/SnapPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/SnapPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/SnapPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/SnapPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/TcpPacketTest.log:
--------------------------------------------------------------------------------
1 | [TCP Header (60 bytes)]
2 | Source port: 161 (SNMP)
3 | Destination port: 0 (unknown)
4 | Sequence Number: 1234567
5 | Acknowledgment Number: 7654321
6 | Data Offset: 15 (60 [bytes])
7 | Reserved: 11
8 | URG: false
9 | ACK: true
10 | PSH: false
11 | RST: true
12 | SYN: false
13 | FIN: true
14 | Window: 9999
15 | Checksum: 0xabcd
16 | Urgent Pointer: 1111
17 | Option: [Kind: 2 (Maximum Segment Size)] [Length: 4 bytes] [Maximum Segment Size: 5555 bytes]
18 | Option: [Kind: 1 (No Operation)]
19 | Option: [Kind: 3 (Window Scale)] [Length: 3 bytes] [Shift Count: 2]
20 | Option: [Kind: 4 (SACK Permitted)] [Length: 2 bytes]
21 | Option: [Kind: 8 (Timestamps)] [Length: 10 bytes] [TS Value: 200] [TS Echo Reply: 111]
22 | Option: [Kind: 5 (SACK)] [Length: 18 bytes] [LE: 2000 RE: 4000] [LE: 6000 RE: 10000]
23 | Option: [Kind: 0 (End of Option List)]
24 | Padding: 0xaa
25 | [data (4 bytes)]
26 | Hex stream: 00 01 02 03
27 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/TcpPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/TcpPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/TcpPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/TcpPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/UdpPacketTest.log:
--------------------------------------------------------------------------------
1 | [UDP Header (8 bytes)]
2 | Source port: 161 (SNMP)
3 | Destination port: 0 (unknown)
4 | Length: 12 [bytes]
5 | Checksum: 0xabcd
6 | [data (4 bytes)]
7 | Hex stream: 00 01 02 03
8 |
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/UdpPacketTest.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/UdpPacketTest.obj
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/UdpPacketTest.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/UdpPacketTest.pcap
--------------------------------------------------------------------------------
/pcap4j-packettest/src/test/resources/UdpPacketTestChecksum0xFFFF.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-packettest/src/test/resources/UdpPacketTestChecksum0xFFFF.pcap
--------------------------------------------------------------------------------
/pcap4j-sample/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 4.0.0
6 | pcap4j-sample
7 | jar
8 | Pcap4J Sample
9 | Samples of Pcap4J.
10 |
11 |
12 | org.pcap4j
13 | pcap4j
14 | 1.8.3-SNAPSHOT
15 |
16 |
17 |
18 |
19 | org.pcap4j
20 | pcap4j-core
21 |
22 |
23 |
24 |
25 |
26 |
27 | src/main/resources
28 |
29 | **/*.pcap
30 |
31 | false
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/pcap4j-sample/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module org.pcap4j.sample {
2 | exports org.pcap4j.sample;
3 |
4 | requires org.pcap4j.core;
5 | requires com.sun.jna;
6 | }
7 |
--------------------------------------------------------------------------------
/pcap4j-sample/src/main/java/org/pcap4j/sample/HeavyLoop.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j.sample;
2 |
3 | import java.io.IOException;
4 | import java.util.concurrent.ExecutorService;
5 | import java.util.concurrent.Executors;
6 | import org.pcap4j.core.NotOpenException;
7 | import org.pcap4j.core.PacketListener;
8 | import org.pcap4j.core.PcapHandle;
9 | import org.pcap4j.core.PcapNativeException;
10 | import org.pcap4j.core.PcapNetworkInterface;
11 | import org.pcap4j.core.PcapNetworkInterface.PromiscuousMode;
12 | import org.pcap4j.packet.Packet;
13 | import org.pcap4j.util.NifSelector;
14 |
15 | @SuppressWarnings("javadoc")
16 | public class HeavyLoop {
17 |
18 | private HeavyLoop() {}
19 |
20 | public static void main(String[] args) throws PcapNativeException, NotOpenException {
21 | PcapNetworkInterface nif;
22 | try {
23 | nif = new NifSelector().selectNetworkInterface();
24 | } catch (IOException e) {
25 | e.printStackTrace();
26 | return;
27 | }
28 |
29 | if (nif == null) {
30 | return;
31 | }
32 |
33 | System.out.println(nif.getName() + "(" + nif.getDescription() + ")");
34 |
35 | final PcapHandle handle = nif.openLive(65536, PromiscuousMode.PROMISCUOUS, 10);
36 |
37 | PacketListener listener =
38 | new PacketListener() {
39 | @Override
40 | public void gotPacket(Packet packet) {
41 | System.out.println(handle.getTimestamp());
42 |
43 | System.out.println("start a heavy task");
44 | try {
45 | Thread.sleep(5000);
46 | } catch (InterruptedException e) {
47 |
48 | }
49 | System.out.println("done");
50 | }
51 | };
52 |
53 | try {
54 | ExecutorService pool = Executors.newCachedThreadPool();
55 | handle.loop(5, listener, pool); // This is better than handle.loop(5, listener);
56 | pool.shutdown();
57 | } catch (InterruptedException e) {
58 | e.printStackTrace();
59 | }
60 |
61 | handle.close();
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/pcap4j-sample/src/main/java/org/pcap4j/sample/PcapFileMerger.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j.sample;
2 |
3 | import org.pcap4j.core.NotOpenException;
4 | import org.pcap4j.core.PcapDumper;
5 | import org.pcap4j.core.PcapHandle;
6 | import org.pcap4j.core.PcapNativeException;
7 | import org.pcap4j.core.Pcaps;
8 | import org.pcap4j.packet.Packet;
9 |
10 | @SuppressWarnings("javadoc")
11 | public class PcapFileMerger {
12 |
13 | private PcapFileMerger() {}
14 |
15 | public static void main(String[] args) throws PcapNativeException, NotOpenException {
16 | // args: pcap file list
17 |
18 | PcapDumper dumper = null;
19 | for (String pcapFile : args) {
20 | PcapHandle handle = Pcaps.openOffline(pcapFile);
21 |
22 | if (dumper == null) {
23 | dumper = handle.dumpOpen(PcapFileMerger.class.getSimpleName() + ".pcap");
24 | }
25 |
26 | Packet packet;
27 | while ((packet = handle.getNextPacket()) != null) {
28 | dumper.dump(packet, handle.getTimestamp());
29 | }
30 |
31 | handle.close();
32 | }
33 |
34 | if (dumper != null) {
35 | dumper.close();
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/pcap4j-sample/src/main/java/org/pcap4j/sample/ReadPacketFile.java:
--------------------------------------------------------------------------------
1 | package org.pcap4j.sample;
2 |
3 | import java.io.EOFException;
4 | import java.util.concurrent.TimeoutException;
5 | import org.pcap4j.core.NotOpenException;
6 | import org.pcap4j.core.PcapHandle;
7 | import org.pcap4j.core.PcapHandle.TimestampPrecision;
8 | import org.pcap4j.core.PcapNativeException;
9 | import org.pcap4j.core.Pcaps;
10 | import org.pcap4j.packet.Packet;
11 |
12 | @SuppressWarnings("javadoc")
13 | public class ReadPacketFile {
14 |
15 | private static final int COUNT = 5;
16 |
17 | private static final String PCAP_FILE_KEY = ReadPacketFile.class.getName() + ".pcapFile";
18 | private static final String PCAP_FILE =
19 | System.getProperty(PCAP_FILE_KEY, "src/main/resources/echoAndEchoReply.pcap");
20 |
21 | private ReadPacketFile() {}
22 |
23 | public static void main(String[] args) throws PcapNativeException, NotOpenException {
24 | PcapHandle handle;
25 | try {
26 | handle = Pcaps.openOffline(PCAP_FILE, TimestampPrecision.NANO);
27 | } catch (PcapNativeException e) {
28 | handle = Pcaps.openOffline(PCAP_FILE);
29 | }
30 |
31 | for (int i = 0; i < COUNT; i++) {
32 | try {
33 | Packet packet = handle.getNextPacketEx();
34 | System.out.println(handle.getTimestamp());
35 | System.out.println(packet);
36 | } catch (TimeoutException e) {
37 | } catch (EOFException e) {
38 | System.out.println("EOF");
39 | break;
40 | }
41 | }
42 |
43 | handle.close();
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/pcap4j-sample/src/main/resources/echoAndEchoReply.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-sample/src/main/resources/echoAndEchoReply.pcap
--------------------------------------------------------------------------------
/pcap4j-sample/src/main/resources/flagmentedEcho.pcap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/pcap4j-sample/src/main/resources/flagmentedEcho.pcap
--------------------------------------------------------------------------------
/pcap4j-test-coverage/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 4.0.0
6 | pcap4j-test-coverage
7 | jar
8 | Pcap4J Test Coverage
9 | The dummy module to measure test coverage of Pcap4J.
10 |
11 |
12 | org.pcap4j
13 | pcap4j
14 | 1.8.3-SNAPSHOT
15 |
16 |
17 |
18 |
19 | test-coverage
20 |
21 |
22 |
23 | org.pcap4j
24 | pcap4j-core
25 |
26 |
27 | org.pcap4j
28 | pcap4j-packetfactory-static
29 |
30 |
31 | org.pcap4j
32 | pcap4j-packetfactory-propertiesbased
33 |
34 |
35 |
36 |
37 |
38 |
39 | org.jacoco
40 | jacoco-maven-plugin
41 |
42 |
43 | report-aggregate
44 | verify
45 |
46 | report-aggregate
47 |
48 |
49 |
50 |
51 | ${project.reporting.outputDirectory}/jacoco
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/tool/coveralls-report.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ./mvnw -e -P test-coverage -DrepoToken=$COVERALLS_REPO_TOKEN clean verify coveralls:report
4 |
--------------------------------------------------------------------------------
/tool/named_numbers.pl:
--------------------------------------------------------------------------------
1 | #!perl
2 |
3 | use strict;
4 | use warnings;
5 | use utf8;
6 |
7 | use Getopt::Long qw(GetOptions);
8 | use FindBin qw($Script);
9 | use Carp qw(croak carp);
10 |
11 | my $class_name;
12 | my $cast = "";
13 | my $registry;
14 | GetOptions(
15 | 'h|help' => sub { pr_help(); exit 0; },
16 | 'cn|class-name=s' => \$class_name,
17 | 'c|cast=s' => \$cast,
18 | 'r|registry' => \$registry,
19 | ) or do { pr_help(); exit 1; };
20 |
21 | if ((not $registry) and (not defined $class_name)) {
22 | pr_help();
23 | exit 1;
24 | }
25 |
26 | $cast = $cast ? "($cast) " : $cast;
27 |
28 | while (my $line = <>) {
29 | chomp $line;
30 |
31 | next if length($line) == 0;
32 |
33 | my @cols = split /\t/, $line, 3;
34 | if (@cols > 1) {
35 | my $num = $cols[0];
36 | my $name = $cols[1];
37 | my $descr = $cols[2];
38 |
39 | my $var_name = uc $name;
40 | $var_name =~ s{ }{_}g;
41 | $var_name =~ s{-}{_}g;
42 | $var_name =~ s{\.}{_}g;
43 | if ($name =~ m{/}) {
44 | carp "$name: / is replaced with _.";
45 | $var_name =~ s{/}{_}g;
46 | }
47 |
48 | if ($registry) {
49 | print " registry.put($var_name.value(), $var_name);\n",
50 | }
51 | else {
52 | print " /**\n",
53 | $descr ? " * $descr: $num\n" : " * $name: $num\n",
54 | " */\n",
55 | " public static final $class_name $var_name\n",
56 | " = new $class_name(",
57 | $cast,
58 | $num,
59 | $descr ? qq{, "$descr");\n\n} : qq{, "$name");\n\n};
60 | }
61 | }
62 | else {
63 | croak $line;
64 | }
65 | }
66 |
67 | sub pr_help {
68 | print << "_HELP_";
69 | Usage: $Script [Options]
70 |
71 | Options
72 | -h|--help : Show this usage.
73 | -cn|--class-name : Class name.
74 | -c|--cast : cast.
75 | -r|--registry : registry.
76 | _HELP_
77 | }
78 |
--------------------------------------------------------------------------------
/www/Packet.md:
--------------------------------------------------------------------------------
1 | Packet
2 | ======
3 |
4 | ### Packet and Packet Builder ###
5 |
6 |
7 | ### Packet and Payload ###
8 |
9 |
10 | ### Packet Builder and Payload Builder ###
11 |
12 |
13 |
--------------------------------------------------------------------------------
/www/images/builder_payloadBuilder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/builder_payloadBuilder.png
--------------------------------------------------------------------------------
/www/images/logos/Mr-pcap4j.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/Mr-pcap4j.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4j-logo-color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4j-logo-color.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4j-logo-grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4j-logo-grey.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4j-logo-whitish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4j-logo-whitish.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4j-logomark-color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4j-logomark-color.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4j-logomark-grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4j-logomark-grey.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4j-logomark-whitish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4j-logomark-whitish.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4j_logomark_slack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4j_logomark_slack.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4jlogo.old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4jlogo.old.png
--------------------------------------------------------------------------------
/www/images/logos/pcap4jlogo.sai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4jlogo.sai
--------------------------------------------------------------------------------
/www/images/logos/pcap4jlogo_slack.old.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/logos/pcap4jlogo_slack.old.jpg
--------------------------------------------------------------------------------
/www/images/packet_builder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/packet_builder.png
--------------------------------------------------------------------------------
/www/images/packet_payload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/packet_payload.png
--------------------------------------------------------------------------------
/www/images/pcap4j.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/pcap4j.pptx
--------------------------------------------------------------------------------
/www/images/propertiesBasedPacketFactory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/propertiesBasedPacketFactory.png
--------------------------------------------------------------------------------
/www/images/staticPacketFactory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/images/staticPacketFactory.png
--------------------------------------------------------------------------------
/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Pcap4J
6 |
7 |
8 |
9 |
10 |

11 |
A Java library for capturing, crafting, and sending packets
12 |
13 |
14 | Pcap4J is hosted on Github. Click on the link below to see the detail.
15 | https://github.com/kaitoy/pcap4j
16 |
17 |
18 | Pcap4J is distributed under the MIT license. It's been available on the Maven Central Repository since version 0.9.14:
19 | http://search.maven.org/#search|ga|1|g%3A%22org.pcap4j%22
20 |
21 |
22 |
Extra
23 |
24 | SNeO: An SNMP Network Simulator using Pcap4J is available at the link below. The documents will come someday.
25 | You can use SNeO in both personal and commercial for free. You can also copy and redistribute it with no restriction.
26 |
27 |
28 |
29 | SNeO is also hosted on Github:
30 |
https://github.com/kaitoy/sneo
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/www/logos.md:
--------------------------------------------------------------------------------
1 | Logos
2 | =====
3 |
4 | #### Full color Pcap4J logo
5 | 
6 |
7 | #### Full color Pcap4J logomark
8 | 
9 |
10 | #### Greyscale Pcap4J logo
11 | 
12 |
13 | #### Greyscale Pcap4J logomark
14 | 
15 |
16 | #### Whitish Pcap4J logo
17 | 
18 |
19 | #### Whitish Pcap4J logomark
20 | 
21 |
22 | #### Mr. Pcap4J
23 | 
24 |
25 | #### Logo License
26 |
27 |
28 | Pcap4J logo is licensed under the
29 | Creative Commons Attribution 4.0 International License.
30 |
31 |
--------------------------------------------------------------------------------
/www/pcap4j_modules.md:
--------------------------------------------------------------------------------
1 | Pcap4j modules
2 | --------------
3 |
4 | Pcap4j consists of the following modules:
5 |
6 | * pcap4j-core: The core module which includes pcap API wrappers, packet classes, and so on.
7 |
8 | module name: `org.pcap4j.core`
9 | * pcap4j-packetfactory-static: [The Static Packet Factory](/www/PacketFactory.md#static-packet-factory) module.
10 |
11 | module name: `org.pcap4j.packetfactory.statik`
12 | * pcap4j-packetfactory-propertiesbased: [The Properties-Based Packet Factory](/www/PacketFactory.md#properties-based-packet-factory) module.
13 |
14 | module name: `org.pcap4j.packetfactory.propertiesbased`
15 | * pcap4j-sample: The sample module.
16 |
17 | module name: `org.pcap4j.sample`
18 | * pcap4j-packettest: The module including test cases for packet classes.
19 | The tests are not run in this module. Instead, they are copied to pcap4j-packetfactory-static and
20 | pcap4j-packetfactory-propertiesbased and then run in the modules respectively.
21 |
22 | module name: `org.pcap4j.packettest`
23 | * pcap4j-distribution: The distribution module.
24 | This module is not built unless the maven profile ***distribution-assembly*** is activated.
25 | To build Pcap4J with it activated, for example, execute `mvn -P distribution-assembly install`.
26 | * pcap4j-test-coverage: The dummy module to measure test coverage of Pcap4J.
27 | This module is built when the maven profile ***test-coverage*** is activated.
28 | During a build, this module retrieves the source of pcap4j-core, pcap4j-packetfactory-static,
29 | and pcap4j-packettest to run tests included in pcap4j-packettest at one place, and then
30 | measure the test coverage of pcap4j-packettest with [JaCoCo](https://www.eclemma.org/jacoco/).
31 |
32 | To run a Pcap4J application, pcap4j-core's artifact is always needed.
33 |
34 | pcap4j-packetfactory-static and pcap4j-packetfactory-propertiesbased are Packet Factory modules.
35 | An artifact of either of them is needed for packet analysis. Without Packet Factory modules, Pcap4J always returns a [UnknownPacket](https://github.com/kaitoy/pcap4j/blob/v1/pcap4j-core/src/main/java/org/pcap4j/packet/UnknownPacket.java) object when it captures a packet.
36 | Learn more about Packet Factory [here](https://github.com/kaitoy/pcap4j/blob/v1/www/PacketFactory.md).
37 |
38 | The other modules' artifacts are not needed when you run a Pcap4J application.
39 |
--------------------------------------------------------------------------------
/www/sample_Loop_ja.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/sample_Loop_ja.md
--------------------------------------------------------------------------------
/www/sample_SendArpRequest_ja.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kaitoy/pcap4j/0b4fad83439808c32f61054b2693641991572f6f/www/sample_SendArpRequest_ja.md
--------------------------------------------------------------------------------