반응형
이 Java 프로그램은 Telnet 명령어와 유사한 기능을 만들었습니다. 주어진 IP 주소와 포트에 대해 TCP 연결을 시도하여 해당 주소에 연결할 수 있는지 여부를 확인합니다.
윈도우나 리눅스에서 telnet 이 설치되어 있지 않거나 막혀있을 때 java가 설치되어 있는 곳에서 사용할 수 있습니다.
간단하게 사용법가 코드의 각 부분을 설명드리겠습니다.
JAVA 코드
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
|
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;
public class Java_Telnet {
public static void main(String[] args) throws UnknownHostException, IOException {
int TIME_OUT = 2000;
Socket socket = new Socket();
try {
SocketAddress endpoint = new InetSocketAddress(args[0], Integer.valueOf(args[1]));
socket.connect(endpoint,TIME_OUT);
System.out.println("OK");
}catch(Exception e) {
e.printStackTrace();
}finally {
if(socket != null) {
try {
socket.close();
}catch(IOException e) {
}
}
}
}
}
|
cs |
코드 설명
- 입력 인수(args)
- 프로그램은 두 개의 명령줄 인수를 받습니다: 첫 번째는 IP 주소, 두 번째는 포트 번호입니다.
- 예: java Java_Telnet 192.168.1.1 80
- 타임아웃 설정
- TIME_OUT 변수는 연결 시도에 사용할 타임아웃을 밀리초 단위로 설정합니다. 여기서는 2000밀리초(2초)로 설정되어 있습니다.
- 소켓 생성
- Socket 객체를 생성합니다. 이 객체는 TCP 연결을 시도하는 데 사용됩니다.
- 소켓 주소 생성
- InetSocketAddress 객체를 생성하여 주어진 IP 주소와 포트를 포함한 소켓 주소를 설정합니다.
- 소켓 연결
- connect 메서드를 사용하여 지정된 주소와 포트로 소켓 연결을 시도합니다. 타임아웃도 설정합니다.
- 연결이 성공하면 "OK" 메시지를 출력합니다.
- 예외 처리
- 연결 시도 중 예외가 발생하면 스택 트레이스를 출력합니다.
- 일반적으로 발생할 수 있는 예외는 IOException이나 UnknownHostException 등이 있습니다.
- 소켓 닫기
- finally 블록에서 소켓이 열려 있는 경우 소켓을 닫습니다.
- 소켓 닫기 시 예외가 발생해도 무시됩니다.
사용법
1. 컴파일
- 프로그램을 컴파일 합니다.
2. 실행
- 컴파일된 프로그램을 실행합니다. IP 주소와 포트 번호를 명령줄 인수로 제공합니다.
- 위 명령은 IP 주소 '192.168.1.1' 과 포트 '80'에 대해 연결을 시도합니다. 연결이 성공하면 "OK" 메시지를 출력합니다.
이 프로그램은 주어진 IP 주소와 포트가 열려 있는지 확인하는 데 유용합니다. 네트워크 디버깅이나 포트 상태 점검 시 사용할 수 있습니다.
윈도우나 리눅스 등 JAVA 가 설치되어 있는 곳에서 사용 할 수 있습니다.
반응형