• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java EthernetPacket类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.pcap4j.packet.EthernetPacket的典型用法代码示例。如果您正苦于以下问题:Java EthernetPacket类的具体用法?Java EthernetPacket怎么用?Java EthernetPacket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



EthernetPacket类属于org.pcap4j.packet包,在下文中一共展示了EthernetPacket类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getIpV4Packet_pppoe

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
IpV4Packet getIpV4Packet_pppoe(EthernetPacket packet_eth) throws IllegalRawDataException{
	IpV4Packet ipV4Packet=null;
	byte[] pppData=packet_eth.getPayload().getRawData();
	if(pppData.length>8&&pppData[8]==0x45){
		byte[] b2=new byte[2];
		System.arraycopy(pppData, 4, b2, 0, 2);
		short len=(short) ByteShortConvert.toShort(b2, 0);
		int ipLength=toUnsigned(len)-2;
		byte[] ipData=new byte[ipLength];
		//设置ppp参数
		PacketUtils.pppHead_static[2]=pppData[2];
		PacketUtils.pppHead_static[3]=pppData[3];
		if(ipLength==(pppData.length-8)){
			System.arraycopy(pppData, 8, ipData, 0, ipLength);
			ipV4Packet=IpV4Packet.newPacket(ipData, 0, ipData.length);
		}else {
			MLog.println("长度不符!");
		}
	}
	return ipV4Packet;
}
 
开发者ID:gmirr,项目名称:finalspeed-91yun,代码行数:22,代码来源:CapEnv.java


示例2: pingTest

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
/**
 * This is a specific test which is not related to standalone Java SDK
 */
@Test
@Ignore
public void pingTest() {
    List<Port> ports = client.getPorts();
    Port port = ports.get(0);
    try {
        client.acquirePort(port.getIndex(), true);
        client.serviceMode(port.getIndex(), true);
        String host = "192.168.9.1";
        EthernetPacket icmpReply = client.sendIcmpEcho(port.getIndex(), host, 10, 10, 1000);
        Assert.assertNotNull(icmpReply);
    } catch (UnknownHostException ignored) {
    } finally {
        client.serviceMode(port.getIndex(), false);
        client.releasePort(port.getIndex());
    }
}
 
开发者ID:cisco-system-traffic-generator,项目名称:trex-java-sdk,代码行数:21,代码来源:TRexClientTest.java


示例3: _getPacketBuilder4IPv4

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
private EthernetPacket.Builder _getPacketBuilder4IPv4(InetAddress remoteAddress, MacAddress localMacAddress, InetAddress
        localIpAdress) {
    ArpPacket.Builder arpBuilder = new ArpPacket.Builder();
    arpBuilder
            .hardwareType(ArpHardwareType.ETHERNET)
            .protocolType(EtherType.IPV4)
            .hardwareAddrLength((byte) MacAddress.SIZE_IN_BYTES)
            .protocolAddrLength((byte) ByteArrays.INET4_ADDRESS_SIZE_IN_BYTES)
            .srcHardwareAddr(localMacAddress)
            .srcProtocolAddr(localIpAdress)
            .dstHardwareAddr(MacAddress.ETHER_BROADCAST_ADDRESS)
            .operation(ArpOperation.REQUEST)
            .dstProtocolAddr(remoteAddress);


    EthernetPacket.Builder etherBuilder = new EthernetPacket.Builder();
    etherBuilder.dstAddr(MacAddress.ETHER_BROADCAST_ADDRESS)
            .srcAddr(localMacAddress)
            .type(EtherType.ARP)
            .payloadBuilder(arpBuilder)
            .paddingAtBuild(true);

    return etherBuilder;
}
 
开发者ID:gaoxingliang,项目名称:mac-address-detector-java,代码行数:25,代码来源:MacAddressHelper.java


示例4: getIpV4Packet_pppoe

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
IpV4Packet getIpV4Packet_pppoe(EthernetPacket packet_eth) throws IllegalRawDataException{
	IpV4Packet ipV4Packet=null;
	byte[] pppData=packet_eth.getPayload().getRawData();
	if(pppData.length>8&&pppData[8]==0x45){
		byte[] b2=new byte[2];
		System.arraycopy(pppData, 4, b2, 0, 2);
		short len=(short) ByteShortConvert.toShort(b2, 0);
		int ipLength=toUnsigned(len)-2;
		byte[] ipData=new byte[ipLength];
		//设置ppp参数
		PacketUtils.pppHead_static[2]=pppData[2];
		PacketUtils.pppHead_static[3]=pppData[3];
		if(ipLength==(pppData.length-8)){
			System.arraycopy(pppData, 8, ipData, 0, ipLength);
			ipV4Packet=IpV4Packet.newPacket(ipData, 0, ipData.length);
		}else {
			MLog.println("Length don't match!");
		}
	}
	return ipV4Packet;
}
 
开发者ID:RCD-Y,项目名称:FinalSpeed-X,代码行数:22,代码来源:CapEnv.java


示例5: handleExportPcapFile

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
/**
 * Export stream to pcap file
 */
public void handleExportPcapFile() {
    try {
        Profile p = tabledata.getProfiles().get(streamPacketTableView.getSelectionModel().getSelectedIndex());
        String packetBinary = p.getStream().getPacket().getBinary();

        byte[] pkt = Base64.decodeBase64(packetBinary);
        Packet packet = EthernetPacket.newPacket(pkt, 0, pkt.length);
        File pcapFile = File.createTempFile("temp-file-name", ".pcap");
        PcapHandle handle = Pcaps.openDead(DataLinkType.EN10MB, 65536);
        PcapDumper dumper = handle.dumpOpen(pcapFile.getAbsolutePath());
        Timestamp ts = new Timestamp(0);
        dumper.dump(packet, ts);
        dumper.close();
        handle.close();

        String fileName = p.getName() + ".pcap";
        Window owner = streamPacketTableView.getScene().getWindow();
        FileManager.exportFile("Save Pcap File", fileName, pcapFile, owner, FileType.PCAP);
    } catch (IllegalRawDataException | IOException | PcapNativeException | NotOpenException ex) {
        LOG.error("Error during generate JSON file", ex);
    }
}
 
开发者ID:exalt-tech,项目名称:trex-stateless-gui,代码行数:26,代码来源:PacketTableView.java


示例6: getPacketInfo

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
/**
 *
 * @param packetBinary
 * @return
 */
public PacketInfo getPacketInfo(String packetBinary) {

    PacketInfo packetInfo = null;

    try {
        byte[] pkt = Base64.decodeBase64(packetBinary);
        Packet packet = EthernetPacket.newPacket(pkt, 0, pkt.length);
        packetInfo = getPacketTypeText(packet);
    } catch (IllegalRawDataException ex) {
        LOG.error("Error reading packet info", ex);
    }

    return packetInfo;

}
 
开发者ID:exalt-tech,项目名称:trex-stateless-gui,代码行数:21,代码来源:TrafficProfile.java


示例7: tag

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
public static Packet tag(Packet packet, int vid) {
  EthernetPacket ep = packet.get(EthernetPacket.class);
  if (ep == null) {
    return packet;
  }

  Dot1qVlanTagPacket.Builder vb = new Dot1qVlanTagPacket.Builder();
  vb.vid((short)vid)
    .type(ep.getHeader().getType())
    .payloadBuilder(new SimpleBuilder(ep.getPayload()));

  Packet.Builder pb = packet.getBuilder();
  pb.get(EthernetPacket.Builder.class)
    .type(EtherType.DOT1Q_VLAN_TAGGED_FRAMES)
    .payloadBuilder(vb);

  return pb.build();
}
 
开发者ID:kaitoy,项目名称:sneo,代码行数:19,代码来源:Dot1qVlanTagHelper.java


示例8: arpTest

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
/**
 * This is a specific test which is not related to standalone Java SDK
 */
@Test
@Ignore
public void arpTest() {
    List<Port> ports = client.getPorts();
    Port port = ports.get(0);
    Port port1 = ports.get(1);
    client.acquirePort(port.getIndex(), true);
    client.acquirePort(port1.getIndex(), true);
    
    client.serviceMode(port.getIndex(), true);
    client.serviceMode(port1.getIndex(), true);

    client.removeRxQueue(port.getIndex());
    client.setRxQueue(port.getIndex(), 5);
        
    EthernetPacket pkt = buildArpPkt();
    client.sendPacket(port.getIndex(), pkt);

    Predicate<EthernetPacket> arpReplyFilter = etherPkt -> {
        if(etherPkt.contains(ArpPacket.class)) {
            ArpPacket arp = (ArpPacket) etherPkt.getPayload();
            if (ArpOperation.REPLY.equals(arp.getHeader().getOperation())) {
                return true;
            }
        }
        return false;
    };
    List<EthernetPacket> pkts = client.getRxQueue(port.getIndex(), arpReplyFilter);
    client.removeRxQueue(port.getIndex());
    client.serviceMode(port.getIndex(), false);
    client.serviceMode(port1.getIndex(), false);
    Assert.assertTrue(pkts.size() > 0);
}
 
开发者ID:cisco-system-traffic-generator,项目名称:trex-java-sdk,代码行数:37,代码来源:TRexClientTest.java


示例9: sendPacketTest

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
@Test
@Ignore
public void sendPacketTest() throws TRexTimeoutException{
    List<Port> ports = client.getPorts();
    Port port = ports.get(0);
    
    client.acquirePort(port.getIndex(), true);
    client.serviceMode(port.getIndex(), true);
    client.setRxQueue(port.getIndex(), 10);
    List<EthernetPacket> pkts = client.getRxQueue(port.getIndex(), p -> true);
}
 
开发者ID:cisco-system-traffic-generator,项目名称:trex-java-sdk,代码行数:12,代码来源:TRexClientTest.java


示例10: buildIdealPkt

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
private static EthernetPacket buildIdealPkt(String pkt) {
    byte[] pktBin = Base64.getDecoder().decode(pkt);
    try {
        return EthernetPacket.newPacket(pktBin, 0, pktBin.length);
    } catch (IllegalRawDataException e) {
        e.printStackTrace();
    }
    return null;
}
 
开发者ID:cisco-system-traffic-generator,项目名称:trex-java-sdk,代码行数:10,代码来源:TRexClientTest.java


示例11: buildArpPkt

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
private static EthernetPacket buildArpPkt() {
    ArpPacket.Builder arpBuilder = new ArpPacket.Builder();
    MacAddress srcMac = MacAddress.getByName("00:50:56:94:21:df");
    try {
        String strSrcIpAddress = "192.168.9.27";
        String strDstIpAddress = "192.168.9.28";
        arpBuilder
                .hardwareType(ArpHardwareType.ETHERNET)
                .protocolType(EtherType.IPV4)
                .hardwareAddrLength((byte) MacAddress.SIZE_IN_BYTES)
                .protocolAddrLength((byte) ByteArrays.INET4_ADDRESS_SIZE_IN_BYTES)
                .operation(ArpOperation.REQUEST)
                .srcHardwareAddr(srcMac)
                .srcProtocolAddr(InetAddress.getByName(strSrcIpAddress))
                .dstHardwareAddr(MacAddress.ETHER_BROADCAST_ADDRESS)
                .dstProtocolAddr(InetAddress.getByName(strDstIpAddress));
    } catch (UnknownHostException e) {
        throw new IllegalArgumentException(e);
    }

    EthernetPacket.Builder etherBuilder = new EthernetPacket.Builder();
    etherBuilder.dstAddr(MacAddress.ETHER_BROADCAST_ADDRESS)
            .srcAddr(srcMac)
            .type(EtherType.ARP)
            .payloadBuilder(arpBuilder)
            .paddingAtBuild(true);

    return etherBuilder.build();
}
 
开发者ID:cisco-system-traffic-generator,项目名称:trex-java-sdk,代码行数:30,代码来源:TRexClientTest.java


示例12: processEthernetPacket

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
public static void processEthernetPacket(Packet packet, PcapFileSummary pcapFileSummary, PacketInfo packetInfo, Mode mode) {
    if (packet == null) {
        return; // skip empty packets
    }
    try {
        log.trace("Converting to ethernet packet");
        EthernetPacket ethernetPacket = EthernetPacket.newPacket(packet.getRawData(), 0, packet.length());
        EthernetPacket.EthernetHeader ethernetHeader = ethernetPacket.getHeader();
        MacAddress sourceMac = ethernetHeader.getSrcAddr();
        log.trace("Source MAC: " + sourceMac);
        packetInfo.put(PacketInfo.SOURCE_MAC, sourceMac.toString());
        MacAddress destMac = ethernetHeader.getDstAddr();
        log.trace("Destination MAC: " + destMac);
        packetInfo.put(PacketInfo.DESTINATION_MAC, destMac.toString());
        EtherType etherType = ethernetHeader.getType();
        log.trace("EtherType: " + etherType.toString());
        packetInfo.put(PacketInfo.ETHERTYPE, etherType.toString());
        Packet payload = ethernetPacket.getPayload();
        if (etherType == EtherType.IPV4) {
            IpPacketProcessor.processIpv4Packet(payload, pcapFileSummary, packetInfo, mode);
        } else if (etherType == EtherType.IPV6) {
            IpPacketProcessor.processIpv6Packet(payload, pcapFileSummary, packetInfo, mode);
        } else if ((mode == Mode.POSSIBLE_ATTACKS_ANALYSIS) && (etherType == EtherType.ARP)) {
            pcapFileSummary.nonIpPacketCount++;
            ArpPacketProcessor.processArpPacket(payload, pcapFileSummary);
        } else {
            pcapFileSummary.nonIpPacketCount++;
            log.trace("Skipping packet with EtherType: " + etherType);
        }
    } catch (IllegalRawDataException e) {
        log.error("Exception occurred while processing a packet. Exception was: " + e);
    }
}
 
开发者ID:rmcnew,项目名称:LiquidFortressPacketAnalyzer,代码行数:34,代码来源:PcapFileProcessor.java


示例13: buildPacket

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
/**
 *
 * @param builder
 */
public void buildPacket(AbstractPacket.AbstractBuilder builder) {

    if (builder == null) {

        this.type = EtherType.getInstance((short) 0xFFFF);
    }

    ethernetBuilder = new EthernetPacket.Builder();
    ethernetBuilder.dstAddr(dstAddr)
            .srcAddr(srcAddr)
            .type(type)
            .payloadBuilder(builder);

    byte[] pad;
    if (builder == null || addPad) {

        if (payload != null) {
            String payloadString = payload.getPayloadType().getPadPayloadString(payload.getPayloadPattern(), 100000);
            pad = new BigInteger(payloadString, 16).toByteArray();
        } else {
            pad = new byte[0];
        }

        ethernetBuilder.paddingAtBuild(false).pad(pad);
        this.packet = ethernetBuilder.build();
        fixPacketLength();
    } else {
        ethernetBuilder.paddingAtBuild(true);
        this.packet = ethernetBuilder.build();
    }
}
 
开发者ID:exalt-tech,项目名称:trex-stateless-gui,代码行数:36,代码来源:TrexEthernetPacket.java


示例14: fixPacketLength

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
private void fixPacketLength() {
    try {
        EthernetPacket newPacket = packet;
        if (packet.getRawData().length < getLength()) {
            byte[] pad = new byte[getLength() - packet.getRawData().length];
            newPacket = EthernetPacket.newPacket(ArrayUtils.addAll(packet.getRawData(), pad), 0, getLength());
        } else {
            newPacket = EthernetPacket.newPacket(packet.getRawData(), 0, getLength());
        }

        setPacket((EthernetPacket) newPacket);
    } catch (IllegalRawDataException ex) {
        Logger.getLogger(TrexEthernetPacket.class.getName()).log(Level.SEVERE, null, ex);
    }
}
 
开发者ID:exalt-tech,项目名称:trex-stateless-gui,代码行数:16,代码来源:TrexEthernetPacket.java


示例15: handleMouseClickedEvent

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
/**
 * Handle mouse clicked event
 */
private void handleMouseClickedEvent() {
    TreeTableRow<HexData> selectedRow = (TreeTableRow<HexData>) textField.getParent().getParent();
    if (!selectedRow.getTreeItem().getValue().getOffset().contains("-")) {
        String originalLine = textField.getText();
        String selectedHex = textField.getSelectedText().trim();
        String replacedHex = showDialog(selectedHex);
        if (replacedHex != null) {
            try {
                textField.replaceSelection(replacedHex.toUpperCase());
                String payLoad = hexToASCII(textField.getText());
                TreeTableRow<HexData> hexTable = (TreeTableRow<HexData>) textField.getParent().getParent();
                TreeItem<HexData> selectedItem = hexTable.getTreeItem();
                selectedItem.setValue(new HexData(selectedItem.getValue().getOffset(), textField.getText(), packetParser.formatPayLoad(payLoad)));
                String originalHex = getPacketHexFromList();
                if (selectedItem.getValue().getOffset().contains("-")) {
                    originalHex = originalHex.replaceAll(originalLine.replaceAll(" ", "").replaceAll("\n", ""), textField.getText().replaceAll(" ", "").replaceAll("\n", ""));
                }
                byte[] rawdata = DatatypeConverter.parseHexBinary(originalHex);
                EthernetPacket p = EthernetPacket.newPacket(rawdata, 0, rawdata.length);
                packetParser.parsePacket(p, packetInfo);
                treeRoot.getChildren().clear();
                setData(packetInfo);
            } catch (IllegalRawDataException ex) {
                java.util.logging.Logger.getLogger(PacketHex.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}
 
开发者ID:exalt-tech,项目名称:trex-stateless-gui,代码行数:32,代码来源:PacketHex.java


示例16: getPacketTypeText

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
/**
 *
 * @param packet
 * @return
 */
public PacketInfo getPacketTypeText(Packet packet) {
    PacketInfo packetInfo = new PacketInfo();

    String packetType = "";
    // Default values for packet info
    packetInfo.setType("Unknown");
    packetInfo.setLength(packet.length());
    if (packet != null) {
        // EthernetPacket
        if (packet.get(EthernetPacket.class) != null) {
            packetType += "Ethernet/";
        }
        // IPPacket
        if (packet.get(IpV4Packet.class) != null) {
            packetType += "IPV4/";
        }
        // TCPPacket
        if (packet.get(TcpPacket.class) != null) {
            packetType += "TCP/";
        }
        // UDPPacket
        if (packet.get(UdpPacket.class) != null) {
            packetType += "UDP";
        }
        if (packetType.endsWith("/")) {
            packetType = packetType.substring(0, packetType.length() - 1);
        }
        packetInfo.setType(packetType);
    }
    return packetInfo;
}
 
开发者ID:exalt-tech,项目名称:trex-stateless-gui,代码行数:37,代码来源:TrafficProfile.java


示例17: matchesDestination

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
public static boolean matchesDestination(Packet packet, MacAddress addr) {
  EthernetPacket etherPacket = packet.get(EthernetPacket.class);
  if (etherPacket == null) {
    throw new IllegalArgumentException(packet.toString());
  }

  MacAddress dst
    = etherPacket.getHeader().getDstAddr();
  return    dst.equals(addr)
         || dst.equals(MacAddress.ETHER_BROADCAST_ADDRESS);
}
 
开发者ID:kaitoy,项目名称:sneo,代码行数:12,代码来源:EthernetHelper.java


示例18: pack

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
public static EthernetPacket pack(
  final Packet payload, MacAddress src, MacAddress dst
) {
  EtherType type;
  if (payload instanceof IpV4Packet) {
    type = EtherType.IPV4;
  }
  else if (payload instanceof IpV6Packet) {
    type = EtherType.IPV6;
  }
  else if (payload instanceof ArpPacket) {
    type = EtherType.ARP;
  }
  else if (payload instanceof Dot1qVlanTagPacket) {
    type = EtherType.DOT1Q_VLAN_TAGGED_FRAMES;
  }
  else {
    throw new AssertionError(payload.getClass().getName());
  }

  EthernetPacket.Builder etherBuilder = new EthernetPacket.Builder();
  return etherBuilder.dstAddr(dst)
                     .srcAddr(src)
                     .type(type)
                     .payloadBuilder(
                        new AbstractBuilder() {
                          @Override
                          public Packet build() {
                            return payload;
                          }
                        }
                      )
                     .paddingAtBuild(true)
                     .build();
}
 
开发者ID:kaitoy,项目名称:sneo,代码行数:36,代码来源:EthernetHelper.java


示例19: untag

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
public static Packet untag(Packet packet) {
  Dot1qVlanTagPacket vp = packet.get(Dot1qVlanTagPacket.class);
  if (vp == null) {
    return packet;
  }

  Packet.Builder pb = packet.getBuilder();
  pb.get(EthernetPacket.Builder.class)
    .type(vp.getHeader().getType())
    .payloadBuilder(new SimpleBuilder(vp.getPayload()));
  return pb.build();
}
 
开发者ID:kaitoy,项目名称:sneo,代码行数:13,代码来源:Dot1qVlanTagHelper.java


示例20: _getPacketBuilder4IPv6

import org.pcap4j.packet.EthernetPacket; //导入依赖的package包/类
private EthernetPacket.Builder _getPacketBuilder4IPv6(Inet6Address remoteAddress, MacAddress localMacAddress, Inet6Address
        localIpAdress) throws UnknownHostException {
    MacAddress broadcastMacAddress = _getBroadcastMacAddress4IPv6(remoteAddress);
    Inet6Address broadcasetIPAddress = _getBroadcastIPAddress4IPv6(remoteAddress);

    IcmpV6NeighborSolicitationPacket.Builder v6Builder = new IcmpV6NeighborSolicitationPacket.Builder();
    v6Builder.targetAddress(remoteAddress);
    v6Builder.reserved(0);
    IpV6NeighborDiscoverySourceLinkLayerAddressOption.Builder optionBuilder = new IpV6NeighborDiscoverySourceLinkLayerAddressOption
            .Builder();
    IpV6NeighborDiscoverySourceLinkLayerAddressOption option = optionBuilder
            .linkLayerAddress(localMacAddress.getAddress())
            .correctLengthAtBuild(true)
            .build();
    List<IcmpV6CommonPacket.IpV6NeighborDiscoveryOption> options = new ArrayList<>();
    options.add(option);
    v6Builder.options(options);


    IcmpV6CommonPacket.Builder icmpV6b = new IcmpV6CommonPacket.Builder();
    icmpV6b.type(IcmpV6Type.NEIGHBOR_SOLICITATION)
            .code(IcmpV6Code.NO_CODE)
            .srcAddr(localIpAdress)
            .dstAddr(broadcasetIPAddress)
            .payloadBuilder(v6Builder)
            .correctChecksumAtBuild(true);


    IpV6Packet.Builder ipv6b = new IpV6Packet.Builder();
    ipv6b.version(IpVersion.IPV6)
            .trafficClass(IpV6SimpleTrafficClass.newInstance((byte) 0x12))
            .flowLabel(IpV6SimpleFlowLabel.newInstance(0))
            .nextHeader(IpNumber.ICMPV6)
            .hopLimit((byte) 255)
            .srcAddr(localIpAdress)
            .dstAddr(broadcasetIPAddress) // "fe80:0:0:0:250:56ff:febc:2688" -> "FF02::1:FFbc:2688"
            .correctLengthAtBuild(true)
            .payloadBuilder(icmpV6b);

    EthernetPacket.Builder etherBuilder = new EthernetPacket.Builder();
    etherBuilder.dstAddr(broadcastMacAddress)
            .srcAddr(localMacAddress)
            .type(EtherType.IPV6)
            .payloadBuilder(ipv6b)
            .paddingAtBuild(true);

    return etherBuilder;
}
 
开发者ID:gaoxingliang,项目名称:mac-address-detector-java,代码行数:49,代码来源:MacAddressHelper.java



注:本文中的org.pcap4j.packet.EthernetPacket类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java FileSelector类代码示例发布时间:2022-05-22
下一篇:
Java FsDatasetSpi类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap