public class PortScan
{
public String ip;
public PortScan(String ip)
{
this.ip = ip;
}
public void setIP( String ip )
{
this.ip = ip;
}
public String getIP()
{
return this.ip;
}
public void scan()
{
int i = 1;
String ip = this.getIP();
while(i < 50000)
{
try
{
Socket sock = new Socket(ip, i);
InputStream in = sock.getInputStream();
OutputStream out = sock.getOutputStream();
BufferedInputStream bins = new BufferedInputStream(in);
BufferedReader bin = new BufferedReader(new InputStreamReader(bins));
String response = bin.readLine();
System.out.println(response);
System.out.println(ip + ":" + i);
sock.close();
}
catch( UnknownHostException e )
{
//System.out.println("No host found.");
}
catch(IOException e)
{
//System.out.println("Problem connection to host.");
}
i++;
}
}
public static void main(String[] args)
{
PortScan aPortScan = new PortScan("127.1.1.1");
aPortScan.scan();
}
}
Console Output:
SSH-2.0-OpenSSH_6.0p1 Debian-4
127.1.1.1:22<
null
127.1.1.1:80
Yes, some services require interaction in order to output banners. For HTTP servers you have to send GET / HTTP/1.1
and then parse the response for the Server:
line.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.