次を使用して、選択した宛先MACアドレスにイーサネットパケットを送信しようとしていますjPcap
:
public void sendPacket(Packet packet, byte[] srcMac, byte[] dstMac, Interface i) throws IOException
{
JpcapSender sender = JpcapSender.openDevice(i.netInterface);
EthernetPacket ether = new EthernetPacket();
ether.frametype = EthernetPacket.ETHERTYPE_IP;
ether.src_mac = srcMac; // MAC address of selected interface
ether.dst_mac = dstMac; // MAC addr. choosed somwhere on form
packet.datalink = ether;
sender.sendPacket(packet);
sender.close();
}
動作しますが、 !ではなく選択したインターフェイスに常に送信されます。dst_mac
そのため、選択したインターフェイスと次の関係がわかりませんscr_mac
:
interface
なぜ (と)の両方を選択する必要があるのscr_mac
ですか?- 使用されていないのに、なぜ追加する
dst_mac
必要があるのですか? - どのように私のコンピュータからパケットを送信するのですか?