.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(echob) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(echob) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(echob) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(echob) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(echob) .correctChecksumAtBuild(true);
.code(IcmpV4Code.POINTER_INDICATES_ERROR) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.REDIRECT_DATAGRAMS_FOR_HOST) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.TIME_TO_LIVE_EXCEEDED) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.HOST_UNREACHABLE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
.code(IcmpV4Code.NO_CODE) .payloadBuilder(new SimpleBuilder(packet)) .correctChecksumAtBuild(true);
@Override protected Packet getWholePacket() throws UnknownHostException { IpV4Packet.Builder ipv4b = new IpV4Packet.Builder(); ipv4b .version(IpVersion.IPV4) .tos(IpV4Rfc1349Tos.newInstance((byte) 0)) .identification((short) 100) .ttl((byte) 100) .protocol(IpNumber.ICMPV4) .srcAddr( (Inet4Address) InetAddress.getByAddress(new byte[] {(byte) 192, (byte) 0, (byte) 2, (byte) 1})) .dstAddr( (Inet4Address) InetAddress.getByAddress(new byte[] {(byte) 192, (byte) 0, (byte) 2, (byte) 2})) .payloadBuilder(packet.getBuilder().correctChecksumAtBuild(true)) .correctChecksumAtBuild(true) .correctLengthAtBuild(true); EthernetPacket.Builder eb = new EthernetPacket.Builder(); eb.dstAddr(MacAddress.getByName("fe:00:00:00:00:02")) .srcAddr(MacAddress.getByName("fe:00:00:00:00:01")) .type(EtherType.IPV4) .payloadBuilder(ipv4b) .paddingAtBuild(true); return eb.build(); }
@Test public void testHasValidChecksum() { assertFalse(packet.hasValidChecksum(false)); assertFalse(packet.hasValidChecksum(true)); IcmpV4CommonPacket.Builder b = packet.getBuilder(); IcmpV4CommonPacket p; b.checksum((short) 0).correctChecksumAtBuild(false); p = b.build(); assertFalse(p.hasValidChecksum(false)); assertTrue(p.hasValidChecksum(true)); b.correctChecksumAtBuild(true); p = b.build(); assertTrue(p.hasValidChecksum(false)); assertTrue(p.hasValidChecksum(true)); } }
public IcmpV4CommonPacketTest() { UnknownPacket.Builder unknownb = new UnknownPacket.Builder(); unknownb.rawData(new byte[] {(byte) 0, (byte) 1, (byte) 2, (byte) 3}); IcmpV4EchoPacket.Builder echob = new IcmpV4EchoPacket.Builder(); echob.identifier((short) 100).sequenceNumber((short) 10).payloadBuilder(unknownb); this.type = IcmpV4Type.ECHO; this.code = IcmpV4Code.NO_CODE; this.checksum = (short) 0x1234; IcmpV4CommonPacket.Builder b = new IcmpV4CommonPacket.Builder(); b.type(type).code(code).checksum(checksum).correctChecksumAtBuild(false).payloadBuilder(echob); this.packet = b.build(); }