本文整理汇总了Java中org.pcap4j.packet.namednumber.UdpPort类的典型用法代码示例。如果您正苦于以下问题:Java UdpPort类的具体用法?Java UdpPort怎么用?Java UdpPort使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
UdpPort类属于org.pcap4j.packet.namednumber包,在下文中一共展示了UdpPort类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processUdpPacket
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
public static void processUdpPacket(Packet packet, PcapFileSummary pcapFileSummary, PacketInfo packetInfo, Mode mode) {
if (packet == null) {
return; // skip empty packets
}
String sourceAddress = packetInfo.get(PacketInfo.SOURCE_ADDRESS);
String destinationAddress = packetInfo.get(PacketInfo.DESTINATION_ADDRESS);
try {
log.trace("Converting to UDP packet");
UdpPacket udpPacket = UdpPacket.newPacket(packet.getRawData(), 0, packet.length());
UdpPacket.UdpHeader udpHeader = udpPacket.getHeader();
UdpPort sourcePort = udpHeader.getSrcPort();
UdpPort destinationPort = udpHeader.getDstPort();
packetInfo.put(PacketInfo.SOURCE_PORT, sourcePort.valueAsString());
packetInfo.put(PacketInfo.DESTINATION_PORT, destinationPort.valueAsString());
if (mode == Mode.POSSIBLE_ATTACKS_ANALYSIS) {
//pcapFileSummary.portScanDetector.add(packetInfo);
}
String udpSource = sourceAddress + ":" + sourcePort.toString();
String udpDestination = destinationAddress + ":" + destinationPort.toString();
log.trace("Adding UDP source to set: " + udpSource);
pcapFileSummary.udpSources.add(udpSource);
log.trace("UDP{ source: " + udpSource + ", destination: " + udpDestination + " }");
} catch (IllegalRawDataException e) {
log.error("Exception occurred while processing a packet. Exception was: " + e);
}
}
示例2: shouldCapture
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
/**
* Checks if the given {@link Packet} should be captured.
*
* @param packet The packet to be checked
* @return Returns true, if the packet should be captured, otherwise false
*/
private boolean shouldCapture(final Packet packet) {
if (packet.contains(ArpPacket.class)) {
ArpPacket arpPacket = packet.get(ArpPacket.class);
if (arpPacket.getHeader().getOperation().equals(ArpOperation.REQUEST)) {
return true;
}
}
if (packet.contains(UdpPacket.class)) {
final UdpPacket udpPacket = packet.get(UdpPacket.class);
if (UdpPort.BOOTPS == udpPacket.getHeader().getDstPort()) {
return true;
}
}
return false;
}
示例3: pack
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
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();
}
示例4: testHandleDnsRequestNotDnsPacket
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
@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);
}
示例5: testDnsQuery
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
@Test
public void testDnsQuery() throws Exception {
Message message = Message.newQuery(new ARecord(new Name("notblocked.example.com."),
0x01,
3600,
Inet4Address.getByAddress(new byte[]{0, 0, 0, 0})
));
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);
assertNotNull(mockEventLoop.lastOutgoing);
assertEquals(Inet4Address.getByAddress(new byte[]{8, 8, 8, 8}), mockEventLoop.lastOutgoing.getAddress());
}
示例6: testNoQueryDnsQuery
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
@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());
}
示例7: TrexUdpPacket
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
/**
*
*/
public TrexUdpPacket() {
this.srcPort = UdpPort.getInstance((short) 0);
this.dstPort = UdpPort.getInstance((short) 0);
this.checksum = (short) 0x7945;
this.length = (short) 12;
}
示例8: buildPacket
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
/**
* Build packet
*
* @throws java.net.UnknownHostException
*/
public void buildPacket() throws UnknownHostException {
int calculatedLength = getPacketLength();
String payloadString = payload.getPayloadType().getPadPayloadString(payload.getPayloadPattern(), calculatedLength * 2);
udpBuilder = new UdpPacket.Builder();
UnknownPacket.Builder unknownb = new UnknownPacket.Builder();
unknownb.rawData(payload.getPayloadPad(payloadString, calculatedLength));
Inet4Address srcAddr = (Inet4Address) InetAddress.getByAddress(
new byte[]{(byte) 0, (byte) 0, (byte) 0, (byte) 0}
);
Inet4Address dstAddr = (Inet4Address) InetAddress.getByAddress(
new byte[]{(byte) 0, (byte) 0, (byte) 0, (byte) 0}
);
udpBuilder.srcPort(UdpPort.getInstance((short) srcPort.value()))
.dstPort(UdpPort.getInstance((short) dstPort.value()))
.srcAddr(srcAddr)
.dstAddr(dstAddr)
.length((short) calculatedLength)
.payloadBuilder(unknownb)
.correctChecksumAtBuild(true)
.correctLengthAtBuild(false);
this.packet = udpBuilder.build();
}
示例9: testHandleDnsRequestEmptyPacket
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
@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])
);
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());
assertNotNull(mockEventLoop.lastOutgoing);
assertEquals(0, mockEventLoop.lastOutgoing.getLength());
assertEquals(Inet4Address.getByAddress(new byte[]{8, 8, 8, 8}), mockEventLoop.lastOutgoing.getAddress());
assertNull(mockEventLoop.lastResponse);
// Check the same thing with one upstream DNS server configured.
tinySetUp();
dnsPacketProxy.upstreamDnsServers.add(Inet4Address.getByAddress(new byte[]{1, 1, 1, 2}));
dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData());
assertNull(mockEventLoop.lastOutgoing);
assertNull(mockEventLoop.lastResponse);
// Check the same thing with enough upstream DNS servers configured.
tinySetUp();
for (byte i = 2; i < 9; i++)
dnsPacketProxy.upstreamDnsServers.add(Inet4Address.getByAddress(new byte[]{1, 1, 1, i}));
dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData());
assertNotNull(mockEventLoop.lastOutgoing);
assertEquals(0, mockEventLoop.lastOutgoing.getLength());
assertEquals(Inet4Address.getByAddress(new byte[]{1, 1, 1, 8}), mockEventLoop.lastOutgoing.getAddress());
assertNull(mockEventLoop.lastResponse);
}
示例10: testBlockedDnsQuery
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
@Test
public void testBlockedDnsQuery() throws Exception {
Message message = Message.newQuery(new ARecord(new Name("blocked.example.com."),
0x01,
3600,
Inet4Address.getByAddress(new byte[]{0, 0, 0, 0})
));
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());
assertNotNull(mockEventLoop.lastResponse);
assertNull(mockEventLoop.lastOutgoing);
assertTrue(mockEventLoop.lastResponse instanceof IpPacket);
assertTrue(mockEventLoop.lastResponse.getPayload() instanceof UdpPacket);
Message responseMsg = new Message(mockEventLoop.lastResponse.getPayload().getPayload().getRawData());
assertEquals(NOERROR, responseMsg.getHeader().getRcode());
assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER));
assertNotEquals(0, responseMsg.getSectionArray(Section.AUTHORITY).length);
assertTrue(responseMsg.getSectionArray(Section.AUTHORITY)[0] instanceof SOARecord);
assertTrue(responseMsg.getSectionArray(Section.AUTHORITY)[0].getTTL() > 0);
}
示例11: testBlockedInet6DnsQuery
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
@Test
public void testBlockedInet6DnsQuery() throws Exception {
Message message = Message.newQuery(new ARecord(new Name("blocked.example.com."),
0x01,
3600,
Inet4Address.getByAddress(new byte[]{0, 0, 0, 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())
);
IpPacket ipOutPacket = new IpV6Packet.Builder()
.version(IpVersion.IPV6)
.trafficClass(IpV6SimpleTrafficClass.newInstance((byte) 0))
.flowLabel(IpV6SimpleFlowLabel.newInstance(0))
.nextHeader(IpNumber.UDP)
.srcAddr((Inet6Address) Inet6Address.getByName("::0"))
.dstAddr((Inet6Address) Inet6Address.getByName("::1"))
.correctLengthAtBuild(true)
.payloadBuilder(payLoadBuilder)
.build();
dnsPacketProxy.handleDnsRequest(ipOutPacket.getRawData());
assertNotNull(mockEventLoop.lastResponse);
assertNull(mockEventLoop.lastOutgoing);
assertTrue(mockEventLoop.lastResponse instanceof IpPacket);
assertTrue(mockEventLoop.lastResponse.getPayload() instanceof UdpPacket);
Message responseMsg = new Message(mockEventLoop.lastResponse.getPayload().getPayload().getRawData());
assertEquals(NOERROR, responseMsg.getHeader().getRcode());
assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER));
assertNotEquals(0, responseMsg.getSectionArray(Section.AUTHORITY).length);
assertTrue(responseMsg.getSectionArray(Section.AUTHORITY)[0] instanceof SOARecord);
assertTrue(responseMsg.getSectionArray(Section.AUTHORITY)[0].getTTL() > 0);
}
示例12: setSrcPort
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
/**
*
* @param srcPort
*/
public void setSrcPort(int srcPort) {
this.srcPort = UdpPort.getInstance((short) srcPort);
}
示例13: setUp
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
UdpPort.register(new UdpPort((short) RmcpPacket.PORT, "RMCP/IPMI"));
UdpPort.register(new UdpPort((short) RspRmcpPacket.PORT, "RMCP/RSP"));
}
示例14: sendSnmpMessage
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
public void sendSnmpMessage(
InetAddress dstAddr, int dstPort,
byte[] message
) throws SendPacketException {
InetAddress srcAddr;
int srcPort;
NetworkInterface sender;
SnmpContext context = agent.getContextfulWorkerPool().unregisterContext();
if (context != null) {
// response
sender = context.getGetter();
IpV4Packet ipV4Packet = context.getRequestPacket().get(IpV4Packet.class);
if (ipV4Packet != null) {
srcAddr = context.getRequestPacket().get(IpV4Packet.class).getHeader()
.getDstAddr();
}
else {
srcAddr = context.getRequestPacket().get(IpV6Packet.class).getHeader()
.getDstAddr();
}
srcPort = context.getRequestPacket().get(UdpPacket.class).getHeader()
.getDstPort().value() & 0xFFFF;
}
else {
// trap
if (dstAddr instanceof Inet4Address) {
sender = getNifByDstIpAddr((Inet4Address)dstAddr);
}
else {
sender = getNifByDstIpAddr((Inet6Address)dstAddr);
}
srcAddr = agent.getInetAddress();
srcPort = TRAP_SRC_PORT;
}
UnknownPacket.Builder unknownb = new UnknownPacket.Builder();
unknownb.rawData(message);
UdpPacket udpp
= UdpHelper.pack(
unknownb.build(),
UdpPort.getInstance((short)srcPort),
UdpPort.getInstance((short)dstPort),
srcAddr,
dstAddr
);
sendL4Packet(udpp, srcAddr, dstAddr, sender);
}
示例15: setDstPort
import org.pcap4j.packet.namednumber.UdpPort; //导入依赖的package包/类
/**
*
* @param dstPort
*/
public void setDstPort(int dstPort) {
this.dstPort = UdpPort.getInstance((short) dstPort);
}