Ⅰ 如何用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.*;