.srcAddr(srcAddr) .payloadBuilder(anonb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true);
public UdpPacketTest() throws Exception { this.srcPort = UdpPort.SNMP; this.dstPort = UdpPort.getInstance((short) 0); this.length = (short) 12; this.checksum = (short) 0xABCD; try { this.srcAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:1"); this.dstAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:2"); } catch (UnknownHostException e) { throw new AssertionError(); } UnknownPacket.Builder unknownb = new UnknownPacket.Builder(); unknownb.rawData(new byte[] {(byte) 0, (byte) 1, (byte) 2, (byte) 3}); UdpPacket.Builder b = new UdpPacket.Builder(); b.dstPort(dstPort) .srcPort(srcPort) .length(length) .checksum(checksum) .correctChecksumAtBuild(false) .correctLengthAtBuild(false) .payloadBuilder(unknownb); this.packet = b.build(); }
public IpV6ExtHopByHopOptionsPacketTest() throws Exception { this.nextHeader = IpNumber.UDP; this.hdrExtLen = (byte) 0; this.options = new ArrayList<IpV6Option>(); options.add(IpV6Pad1Option.getInstance()); options.add(new IpV6PadNOption.Builder().data(new byte[] {0, 0, 0}).dataLen((byte) 3).build()); try { srcAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:1"); dstAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:2"); } catch (UnknownHostException e) { throw new AssertionError(); } UnknownPacket.Builder anonb = new UnknownPacket.Builder(); anonb.rawData(new byte[] {(byte) 0, (byte) 1, (byte) 2, (byte) 3}); UdpPacket.Builder udpb = new UdpPacket.Builder(); udpb.dstPort(UdpPort.getInstance((short) 0)) .srcPort(UdpPort.SNMP_TRAP) .dstAddr(dstAddr) .srcAddr(srcAddr) .payloadBuilder(anonb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true); IpV6ExtHopByHopOptionsPacket.Builder b = new IpV6ExtHopByHopOptionsPacket.Builder(); b.nextHeader(nextHeader) .hdrExtLen(hdrExtLen) .options(options) .correctLengthAtBuild(false) .payloadBuilder(udpb); this.packet = b.build(); }
.dstAddr(dstAddr) .payloadBuilder(unknownb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true);
.srcAddr(requestPacket.getHeader().getDstAddr()) .dstAddr(requestPacket.getHeader().getSrcAddr()) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(
.srcAddr(InetAddress.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr(InetAddress.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(
.srcAddr(InetAddress.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr(InetAddress.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(
.srcAddr((Inet6Address) Inet6Address.getByName("::0")) .dstAddr((Inet6Address) Inet6Address.getByName("::1")) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(
.srcAddr(requestPacket.getHeader().getDstAddr()) .dstAddr(requestPacket.getHeader().getSrcAddr()) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(
.srcAddr(srcAddr) .payloadBuilder(unknownb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true);
b.dstPort(UdpPort.GTP_C) .srcPort(UdpPort.getInstance((short) 12345)) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(packet.getBuilder().correctLengthAtBuild(true));
.srcAddr(InetAddress.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr(InetAddress.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(
.srcAddr(srcAddr) .dstAddr(dstAddr) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(new SimpleBuilder(packet));
public IpV6ExtDestinationOptionsPacketTest() throws Exception { this.nextHeader = IpNumber.UDP; this.hdrExtLen = (byte) 0; this.options = new ArrayList<IpV6Option>(); options.add(IpV6Pad1Option.getInstance()); options.add(new IpV6PadNOption.Builder().data(new byte[] {0, 0, 0}).dataLen((byte) 3).build()); try { srcAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:1"); dstAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:2"); } catch (UnknownHostException e) { throw new AssertionError(); } UnknownPacket.Builder anonb = new UnknownPacket.Builder(); anonb.rawData(new byte[] {(byte) 0, (byte) 1, (byte) 2, (byte) 3}); UdpPacket.Builder udpb = new UdpPacket.Builder(); udpb.dstPort(UdpPort.getInstance((short) 0)) .srcPort(UdpPort.SNMP_TRAP) .dstAddr(dstAddr) .srcAddr(srcAddr) .payloadBuilder(anonb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true); IpV6ExtDestinationOptionsPacket.Builder b = new IpV6ExtDestinationOptionsPacket.Builder(); b.nextHeader(nextHeader) .hdrExtLen(hdrExtLen) .options(options) .correctLengthAtBuild(false) .payloadBuilder(udpb); this.packet = b.build(); }
.srcAddr(srcAddr) .payloadBuilder(unknownb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true);
@Test public void testNoQueryDnsQuery() throws Exception { Message message = new Message(); UdpPacket.Builder payLoadBuilder = new UdpPacket.Builder() .srcPort(UdpPort.DOMAIN) .dstPort(UdpPort.DOMAIN) .srcAddr(InetAddress.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr(InetAddress.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder( new UnknownPacket.Builder() .rawData(message.toWire()) ); IpPacket ipOutPacket = new IpV4Packet.Builder() .version(IpVersion.IPV4) .tos(IpV4Rfc791Tos.newInstance((byte) 0)) .protocol(IpNumber.UDP) .srcAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(payLoadBuilder) .build(); dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData()); assertNull(mockEventLoop.lastResponse); assertNull(mockEventLoop.lastOutgoing); dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData()); }
@Test public void testHandleDnsRequestNotDnsPacket() throws Exception { UdpPacket.Builder payLoadBuilder = new UdpPacket.Builder() .srcPort(UdpPort.HTTP) .dstPort(UdpPort.HTTP) .srcAddr(InetAddress.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr(InetAddress.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder( new UnknownPacket.Builder() .rawData(new byte[]{1, 2, 3, 4, 5}) ); IpPacket ipOutPacket = new IpV4Packet.Builder() .version(IpVersion.IPV4) .tos(IpV4Rfc791Tos.newInstance((byte) 0)) .protocol(IpNumber.UDP) .srcAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 4, 4})) .dstAddr((Inet4Address) Inet4Address.getByAddress(new byte[]{8, 8, 8, 8})) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(payLoadBuilder) .build(); dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData()); assertNull(mockEventLoop.lastOutgoing); assertNull(mockEventLoop.lastResponse); }
public IpV6ExtUnknownPacketTest() throws Exception { this.nextHeader = IpNumber.UDP; this.hdrExtLen = (byte) 1; this.data = new byte[(hdrExtLen + 1) * 8 - 2]; for (byte i = 0; i < data.length; i++) { data[i] = i; } try { this.srcAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:1"); this.dstAddr = (Inet6Address) InetAddress.getByName("2001:db8::3:2:2"); } catch (UnknownHostException e) { throw new AssertionError(); } UnknownPacket.Builder unknownb = new UnknownPacket.Builder(); unknownb.rawData(new byte[] {(byte) 0, (byte) 1, (byte) 2, (byte) 3}); UdpPacket.Builder udpb = new UdpPacket.Builder(); udpb.dstPort(UdpPort.getInstance((short) 0)) .srcPort(UdpPort.SNMP_TRAP) .dstAddr(dstAddr) .srcAddr(srcAddr) .payloadBuilder(unknownb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true); IpV6ExtUnknownPacket.Builder b = new IpV6ExtUnknownPacket.Builder(); b.nextHeader(nextHeader).hdrExtLen(hdrExtLen).data(data).payloadBuilder(udpb); this.packet = b.build(); }
@Override protected Packet getWholePacket() { IpV6Packet.Builder IpV6b = new IpV6Packet.Builder(); IpV6b.version(IpVersion.IPV6) .trafficClass(IpV6SimpleTrafficClass.newInstance((byte) 0x12)) .flowLabel(IpV6SimpleFlowLabel.newInstance(0x12345)) .nextHeader(IpNumber.UDP) .hopLimit((byte) 100) .srcAddr(srcAddr) .dstAddr(dstAddr) .payloadBuilder(packet.getBuilder().correctChecksumAtBuild(true).correctLengthAtBuild(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.IPV6) .payloadBuilder(IpV6b) .paddingAtBuild(true); eb.get(UdpPacket.Builder.class).dstAddr(dstAddr).srcAddr(srcAddr); return eb.build(); }
@Test public void testHasValidChecksum() { UdpPacket.Builder b = packet.getBuilder(); b.srcAddr(srcAddr).dstAddr(dstAddr); UdpPacket p = b.correctChecksumAtBuild(false).build(); assertFalse(packet.hasValidChecksum(srcAddr, dstAddr, false)); assertFalse(packet.hasValidChecksum(srcAddr, dstAddr, true)); b.checksum((short) 0).correctChecksumAtBuild(false); p = b.build(); assertFalse(p.hasValidChecksum(srcAddr, dstAddr, false)); assertTrue(p.hasValidChecksum(srcAddr, dstAddr, true)); b.correctChecksumAtBuild(true); p = b.build(); assertTrue(p.hasValidChecksum(srcAddr, dstAddr, false)); assertTrue(p.hasValidChecksum(srcAddr, dstAddr, true)); }