IP 스캔을 할 수 있는 코딩을 JAVA로 제작해 보았습니다

 

IP스캐너

: 나의 사설망이나 공인 IP 대역을 입력하여 주변 컴퓨터들이 사용하는 IP를 확인할 수 있다

 

IP스캐너를 코딩하기전  필요한 파일

1. icmp4j-all.jar

2. jna-3.2.5.jar

3. jna-platform-win32.jar

 

- 위 3개의 파일 다운 받아서 lib에 넣어줘야 합니다

 

Main 코드

import org.icmp4j.IcmpPingRequest;
import org.icmp4j.IcmpPingResponse;
import org.icmp4j.IcmpPingUtil;

public class Main {

	public static void main(String[] args) {
		
		// ICPM 패킷 생성 후 request 변수에 담기
	    IcmpPingRequest request = IcmpPingUtil.createIcmpPingRequest ();
	 
	    // IP대역인 1~255까지 검사하는 반복문
	    for (int count = 1; count < 255; count ++) {
	    	
	    	// request를 IP로 만들어 준다
	    	request.setHost ("192.168.1." + count);
	    	// iCMP 패킷을 request에 담긴 IP로 보낸다
	    	IcmpPingResponse response = IcmpPingUtil.executePingRequest (request);
	    	// ICMP 패킷을 받는다
	    	String formattedResponse = IcmpPingUtil.formatResponse (response);
	    	
	    	// 받은 내용을 소문자로 바꾼다
	    	formattedResponse = formattedResponse.toLowerCase();
	    	
	    	// 받은 내용에 reply가 포함되어 있지 않으면 indexof로 -1을 돌려주기 때문에 if문에 들어가지 않는다
	    	if(formattedResponse.indexOf("reply") != -1)
	    	{
	    		// 조건에 충족되는 IP를 출력하여 알려준다
	    		System.out.println ("192.168.1." + count);
	    	}
	    	
	    	// 너무 빨리 동작하는걸 방지하기 위해 sleep을 걸어준다
	    	try {
	    		Thread.sleep (1000);
	    	} catch (Exception e) {
	    		e.printStackTrace();
	    	}
	    }
	}
}

 

 

동작 결과

- 기본 게이트웨이로 설정된 1번과 제가 사용하는 4번만 스캐너에 의해 확인이됬습니다

'JAVA' 카테고리의 다른 글

Port 스캐너 (JAVA)  (0) 2020.11.13
생성자 (JAVA)  (0) 2020.11.13
프로세스 관리 코딩 ( JAVA )  (1) 2020.11.12
간단한 구구단 코딩 (JAVA)  (0) 2020.11.05

+ Recent posts