Currently what I am trying to create is a ping sweep for a user entered range.
I have tried various sources on the internet for this but they are very vague or i just cant seem to get them to work, baring in mind i am very new to java.
one source i tried to completely type out but cant seem to get to work is located at - http://www.coderanch.com/t/205721/sockets/java/Determining-computers-network
and the code i have tried to use is...
import java.net.Inet4Address;
import java.net.InetAddress;
import java.util.Arrays;
import java.io.IOException;
import java.io.*;
import java.util.Scanner;
import jpcap.*;
import jpcap.packet.*;
public class ARP{
public static void main(String[] args) throws IOException{
//Obtain the list of network interfaces
NetworkInterface[] devices = JpcapCaptor.getDeviceList();
//for each network interface
for (int i = 0; i < devices.length; i++) {
//print out its name and description
System.out.println(i+": "+devices[i].name + "(" + devices[i].description+")");
//print out its datalink name and description
System.out.println(" datalink: "+devices[i].datalink_name + "(" + devices[i].datalink_description+")");
//print out its MAC address
System.out.print(" MAC address:");
for (byte b : devices[i].mac_address)
System.out.print(Integer.toHexString(b&0xff) + ":");
System.out.println();
//print out its IP address, subnet mask and broadcast address
for (NetworkInterfaceAddress a : devices[i].addresses)
System.out.println(" address:"+a.address + " " + a.subnet + " "+ a.broadcast);
}
//NetworkInterface[] devices = JpcapCaptor.getDeviceList();
int index =1; // set index of the interface that you want to open.
//Open an interface with openDevice(NetworkInterface intrface, int snaplen, boolean promics, int to_ms)
final JpcapCaptor captor=JpcapCaptor.openDevice(devices[index], 65535, false, 20);
//JpcapCaptor captor=JpcapCaptor.openDevice(device[1], 65535, false, 20);
//call processPacket() to let Jpcap call PacketPrinter.receivePacket() for every packet capture.
//captor.processPacket(10,new PacketPrinter());
//System.out.println(packet);
//captor.close();
}
}
the code above has many errors when i have tried to use it, am not entirely sure what im doing wrong.
Again i'm very new to java and it would be a great help if someone could point me in the right direction.
I have also tried to use this youtube tutorial which covers Port Scanning and Ping Sweeping, but not had much luck.
http://www.youtube.com/watch?v=FvycwyAat6s
Any help would be greatly appreciated,
Thanks,
Jamie
This code, which I got from here https://stackoverflow.com/a/14110872/868040, pings a device. You can easily modify this to ping a range of devices.