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 |