Ⅰ 如何用java多线程调用sendarp
鼠标分别点击选择Target Platforms下属的 32-bit windows 或 64-bit windows
Target Platforms分别显示
Target Platforms(win32)
Target Platforms(win64)
表示IDE默认编译的方式。括号内就是将要编译的是32位,还是64位。执行Run就完成编译了。
Ⅱ cmd下arp -a不是内部或外部指令怎么回事
你的系统中没有arp.exe
一般在C:\Windows\System32\ARP.EXE
Ⅲ 现在我用java写了一个arp包发送到网络中。
java的底层能力非常有限的 要使用系统层的API,即是要JNI、JNA编程
Ⅳ java如何编程实现,获取固定IP发来所有的数据包
java获取固定IP发来所有的数据包,需要实现网络嗅探的部分功能:
代码如下;
/*******************
*JpcapTip.java
*/
packagem;
importjpcap.PacketReceiver;
importjpcap.JpcapCaptor;
importjpcap.packet.*;
importjpcap.NetworkInterface;
importjpcap.NetworkInterfaceAddress;
//importjava.net.InetAddress;
//importjava.net.UnknownHostException;
{
publicvoidreceivePacket(Packetpacket){
System.out.println("********************************************");
/*IP数据报报文头*/
byte[]l=packet.header;
/*
for(intt=0;t<21;t++){
System.out.print(l[t]+"***");
}
*/
Stringstr="";
System.out.print("报文头:");
for(inti=0;i<l.length;i++){
//str=str+l;
intm=0;
m=l[i];
m=m<<24;
m=m>>>24;
str=str+Integer.toHexString(m);
//System.out.print("***"+l[i]);
}
System.out.println(str);
intd=l.length;
System.out.println("首部长度:"+(d*8)+"bit");
/*分析源IP地址和目的IP地址*/
/*分析协议类型*/
/**
if(packet.getClass().equals(IPPacket.class)){
IPPacketipPacket=(IPPacket)packet;
byte[]iph=ipPacket.option;
Stringiphstr=newString(iph);
System.out.println(iphstr);
}
*/
if(packet.getClass().equals(ARPPacket.class))
{
System.out.println("协议类型:ARP协议");
try{
ARPPacketarpPacket=(ARPPacket)packet;
System.out.println("源网卡MAC地址为:"+arpPacket.getSenderHardwareAddress());
System.out.println("源IP地址为:"+arpPacket.getSenderProtocolAddress());
System.out.println("目的网卡MAC地址为:"+arpPacket.getTargetHardwareAddress());
System.out.println("目的IP地址为:"+arpPacket.getTargetProtocolAddress());
}catch(Exceptione){
e.printStackTrace();
}
}
else
if(packet.getClass().equals(UDPPacket.class))
{
System.out.println("协议类型:UDP协议");
try{
UDPPacketudpPacket=(UDPPacket)packet;
System.out.println("源IP地址为:"+udpPacket.src_ip);
inttport=udpPacket.src_port;
System.out.println("源端口为:"+tport);
System.out.println("目的IP地址为:"+udpPacket.dst_ip);
intlport=udpPacket.dst_port;
System.out.println("目的端口为:"+lport);
}catch(Exceptione){
e.printStackTrace();
}
}
else
if(packet.getClass().equals(TCPPacket.class)){
System.out.println("协议类型:TCP协议");
try{
TCPPackettcpPacket=(TCPPacket)packet;
inttport=tcpPacket.src_port;
System.out.println("源IP地址为:"+tcpPacket.src_ip);
System.out.println("源端口为:"+tport);
System.out.println("目的IP地址为:"+tcpPacket.dst_ip);
intlport=tcpPacket.dst_port;
System.out.println("目的端口为:"+lport);
}catch(Exceptione){
e.printStackTrace();
}
}
else
if(packet.getClass().equals(ICMPPacket.class))
System.out.println("协议类型:ICMP协议");
else
System.out.println("协议类型:GGP、EGP、JGP协议或OSPF协议或ISO的第4类运输协议TP4");
/*IP数据报文数据*/
byte[]k=packet.data;
Stringstr1="";
System.out.print("数据:");
for(inti=0;i<k.length;i++){
//intm=0;
//m=k[i];
//m=m<<24;
//m=m>>>24;
//str1=str+Integer.toHexString(m);
str1=newString(k);
//str1=str1+k[i];
//System.out.print("***"+k[i]);
}
System.out.println(str1);
System.out.println("数据报类型:"+packet.getClass());
System.out.println("********************************************");
}
publicstaticvoidmain(String[]args)throwsException{
//TODO自动生成方法存根
NetworkInterface[]devices=JpcapCaptor.getDeviceList();//.getDeviceList();.
//for(inti=0;i<devices.length;i++){
inta=0;
//try{
/*本地网络信息*/
byte[]b=devices[1].mac_address;//网卡物理地址
//}
//catch(){}
System.out.print("网卡MAC:00");
for(intj=0;j<b.length;j++){
//a=a<<8;
a=b[j];
a=a<<24;
a=a>>>24;
System.out.print(Integer.toHexString(a));
}
System.out.println();
NetworkInterfaceAddress[]k=devices[1].addresses;
//System.out.println("网卡MAC:"+Integer.toHexString(a));
for(intn=0;n<k.length;n++){
System.out.println("本机IP地址:"+k[n].address);//本机IP地址
System.out.println("子网掩码:"+k[n].subnet);//子网掩码
}
System.out.println("网络连接类型:"+devices[1].datalink_description);
//}
NetworkInterfacedeviceName=devices[1];
/*将网卡设为混杂模式下用网络设备deviceName*/
JpcapCaptorjpcap=JpcapCaptor.openDevice(deviceName,2000,false,1);//openDevice(deviceName,1028,false,1);
jpcap.loopPacket(-1,newJpcapTip());
}
}
Ⅳ 路由器arp映射表怎么变成Java的了
刷新看看,,,,,,是不是自己刷过机呢
Ⅵ 求一个 java编写的使用jpcap捕获网络arp数据包,并分析是否存在arp攻击..
0.0 php做这事而比较干错
Ⅶ 如何用java获得局域网内所有ip最好用arp方法,ping的太慢
需要遍历局域网IP的,大体分为两步:
1.得到局域网网段,可由自己机器的IP来确定
2.根据IP类型,一次遍历局域网内IP地址 给一个JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用自己编写相应代码调用便可 代码如下:
package bean;
import java.io.*;
import java.util.*;