}); UdpPacket.Builder udpb = new UdpPacket.Builder(); udpb.srcPort(UdpPort.SNMP) .dstPort(UdpPort.getInstance((short) 0)) .srcAddr(srcAddr) .dstAddr(dstAddr) .payloadBuilder(unknownb) .correctChecksumAtBuild(true) .correctLengthAtBuild(true); byte[] rawPayload = udpb.build().getRawData();
public static UdpPacket pack( Packet payload, UdpPort srcPort, UdpPort dstPort, InetAddress srcAddr, InetAddress dstAddr ) { UdpPacket.Builder builder = new UdpPacket.Builder(); return builder.srcPort(srcPort) .dstPort(dstPort) .payloadBuilder(new SimpleBuilder(payload)) .srcAddr(srcAddr) .dstAddr(dstAddr) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .build(); }
@Override public Builder getBuilder() { return new Builder(this); }
UdpPacket.Builder payLoadBuilder = new UdpPacket.Builder(udpOutPacket) .srcPort(udpOutPacket.getHeader().getDstPort()) .dstPort(udpOutPacket.getHeader().getSrcPort()) .srcAddr(requestPacket.getHeader().getDstAddr()) .dstAddr(requestPacket.getHeader().getSrcAddr()) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder( new UnknownPacket.Builder() .rawData(responsePayload)
@Test public void testHandleDnsRequestEmptyPacket() throws Exception { 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(new byte[0])
)); UdpPacket.Builder payLoadBuilder = new UdpPacket.Builder() .srcPort(UdpPort.DOMAIN) .dstPort(UdpPort.DOMAIN) .srcAddr((Inet6Address) Inet6Address.getByName("::0")) .dstAddr((Inet6Address) Inet6Address.getByName("::1")) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder( new UnknownPacket.Builder() .rawData(message.toWire())
)); 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())
}); 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); byte[] rawPayload = udpb.build().getRawData();
UdpPacket.Builder payLoadBuilder = new UdpPacket.Builder(udpOutPacket) .srcPort(udpOutPacket.getHeader().getDstPort()) .dstPort(udpOutPacket.getHeader().getSrcPort()) .srcAddr(requestPacket.getHeader().getDstAddr()) .dstAddr(requestPacket.getHeader().getSrcAddr()) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder( new UnknownPacket.Builder() .rawData(responsePayload)
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);
UdpPacket.Builder b = new UdpPacket.Builder(); b.dstPort(UdpPort.GTP_C) .srcPort(UdpPort.getInstance((short) 12345)) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(packet.getBuilder().correctLengthAtBuild(true)); .paddingAtBuild(true); eb.get(UdpPacket.Builder.class).dstAddr(dstAddr).srcAddr(srcAddr); return eb.build();
)); 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())
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(); }
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(); }
new UdpPacket.Builder() .dstPort(UdpPort.DOMAIN) .srcPort(UdpPort.getInstance((short) 32211)) .srcAddr(srcAddr) .dstAddr(dstAddr) .correctChecksumAtBuild(true) .correctLengthAtBuild(true) .payloadBuilder(new SimpleBuilder(packet));
@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()); }
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);
@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(); }
@Test public void testGetHeader() { UdpHeader h = packet.getHeader(); assertEquals(srcPort, h.getSrcPort()); assertEquals(dstPort, h.getDstPort()); assertEquals(length, h.getLength()); assertEquals(checksum, h.getChecksum()); UdpPacket.Builder b = packet.getBuilder(); UdpPacket p; b.length((short) 0); p = b.build(); assertEquals((short) 0, (short) p.getHeader().getLengthAsInt()); b.length((short) -1); p = b.build(); assertEquals((short) -1, (short) p.getHeader().getLengthAsInt()); b.length((short) 32767); p = b.build(); assertEquals((short) 32767, (short) p.getHeader().getLengthAsInt()); b.length((short) -32768); p = b.build(); assertEquals((short) -32768, (short) p.getHeader().getLengthAsInt()); }