این سورس
کد PHP:
import java.util.Scanner;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
سرفایل کلاسمون می باشد.
ما با استفاده از این سورس می توانیم کلاسهایی رو که لازم داریم در برناممون
پیاده سازی کنیم. اگر در سورس بالا دقت کنید می بینید که من از کلاس
Socket استفاده کرده ام.
ما با این کلاس می توانیم ip و شما هر پورت مورد نظر رو بدست بیاوریم(برای تست کردن)
کد PHP:
public class P_s {
private int port1,port2;
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String hostname =input.nextLine();
int port1=0,port2=0;
port1=input.nextInt();
port2=input.nextInt();
سورس بالا هم عنوان کلاسم همراه با تعریف متغییرهای لازم در برناممون هستش.
کد PHP:
Socket s = null;
boolean UnknownHostException = false;
try
{
InetAddress ipaddress = InetAddress.getByName(hostname);
for(int p =port1;p<=port2;p++)
{
try
{
s = new Socket(hostname, p);
System.out.println("**** Open port **** (: " + p);
s.close();
}
catch (IOException e)
{
System.out.println("No server on port " + p);
}
System.out.println(hostname);
}
}
catch ( UnknownHostException e )
{
System.out.println("Could not find host: " + hostname+"\n\n\n\n\n\n\n");
}
}
}
کار سورس بالا هم تست کردن پورتهای باز و بسته می باشد.
زمانی که شما پورتهای باز و بسته را بوسیله کلاس InetAddress تست میکنید
ممکن است استثناءهایی در برنامه اتفاق بیفتد
که این استثناءها سبب می شوند تا ما نتیجه ی مطلوب از برناممون رو دریافت نکنیم.
به همین دلیل من اومدم برناممون رو با استفاده از فرمان try بلوکه کردم
این کار سبب میشود تا از رخ دادن استثناءهای پیش بینی نشده در برنامه جلوگیری کنیم.
با استفاده از کلاس InetAddress ما ip که بصورت رشته دریافت می کنیم
رو به ip اصل مطابقت میدهیم(در کل از این کلاس برای تبدیل به اصل استفاده می کنیم)
کد PHP:
InetAddress ipaddress = InetAddress.getByName(hostname);
از این سورس هم برا تست کردن پورتهای باز و بسته کامپیوتر قربانی
استفاده می کنیم
کد PHP:
s = new Socket(hostname, p);
اگر باز بود با نمایش دادن پیغامی مبنی بر open port مارو اگاه میسازد
که پورت باز است در غیر اینصورت یک استثناء به راه می اندازد از نوع کلاس IOException
که مبنی بر باز نبودن برنامه هستش که من سورس این تابع رو به باز نبودن هدایت کردم
اگر به سورسمون دقت کرده باشید می بینید که یک کلاس هم از نوع
کد PHP:
UnknownHostException
در برناممون استفاده کردم .
در حقیقت کار این کلاس نمایش پیغامی مبنی بر ناتوان ماندن در پیدا کردن
یا تجزیه کردن ip داده شده به کلاس InetAddress می باشد.