티스토리 뷰

자바(Java)

[Java] 자바 방화벽 체크

xemaker 2020. 5. 26. 11:34

방화벽이 열려있는지 안열려 있는지 체크 먼저하고 프로그램을 실행시키면 좋을것 같다.

안 그러면 .. 방화벽이 안 열려있다면 마냥 기다리다가.. 이유도 모른채 왜 안되지.. 할듯

그래서..

방화벽 오픈 체크를 먼저 하고 오픈되었을때는 프로그램을 실행하고 아님 닫혀있다는 메시지를 사용자에게 전송하여 방화벽을 열게끔 하는게 맞겠지..

그래서 방화벽 체크 소스를 한번 짜보면..

package test;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;

public class PortCheck {
	boolean portCheck(String host, int port) throws IOException {
		boolean rst=false;
		Socket sc=null;
		try {
			SocketAddress endpoint = new InetSocketAddress(host,port);
			sc=new Socket();
			sc.connect(endpoint,3000);
			rst=true;
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			if(sc!=null) {
				sc.close();
			}
		}
		return rst;
	}

	public static void main(String[] args) throws UnknownHostException, IOException {
		String host="naver.com";
		int port=80;
		PortCheck pc=new PortCheck();
		boolean isOk = pc.portCheck(host,port);
		if(isOk) {
			System.out.println("방화벽이 열려있습니다.");
		}else {
			System.out.println("방화벽이 닫혀있습니다.");
		}
	}

}

 

보통 Util 클래스에 가져다 놓고 쓸테니 static 한 방법으로 해보면

package test;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;

public class PortCheck {
	public static boolean portCheck(String host, int port) throws IOException {
		boolean rst=false;
		Socket sc=null;
		try {
			SocketAddress endpoint = new InetSocketAddress(host,port);
			sc=new Socket();
			sc.connect(endpoint,3000);
			rst=true;
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			if(sc!=null) {
				sc.close();
			}
		}
		return rst;
	}

	public static void main(String[] args) throws UnknownHostException, IOException {
		String host="naver.com";
		int port=80;
		boolean isOk = PortCheck.portCheck(host,port);
		if(isOk) {
			System.out.println("방화벽이 열려있습니다.");
		}else {
			System.out.println("방화벽이 닫혀있습니다.");
		}
	}

}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함