CLI 사용법

Note

문서에 오류가 있거나 건의 사항이 있으시면 메시지를 미꾸라지 포럼 (https://mudfish.net/forums) 에 남겨주세요.

미꾸라지 사용자분들 중 이 메뉴를 이용하실 분이 과연 몇 분이 계실지 모르겠지만 이 기능을 이용하신다는 것은 아마도 컴퓨터 고급 사용자이실 겁니다. :-) 만나서 반갑습니다.

아래의 섹션들은 좀 더 전문 용어들이 난무할 수 있으니, 유의해서 읽어주시기 바랍니다.

CLI 소개

처음 Mudfish Launcher 가 만들어지기 전에는 CLI (Command Line Interface) 가 유일한 debugging 수단이었습니다만 현재는 UI 를 통한 미꾸라지 세팅이 주를 이르다 보니 CLI 을 통하지 않는 경우가 대부분이 되었습니다.

하지만 미꾸라지 문제 분석과 가장 매니아틱한 설정까지 할 수 있는, 혹은 UI 로는 절대 알 수 없는 내부 상태들을 보시려면 CLI 외에는 현재 제공하는 방법이 없습니다.

CLI 접속하기

CLI 접속하기 위해서는 우선 CLI listening IP 와 port 를 알아야 합니다. 이 정보를 알기 위해서는

  • 미꾸라지 로그인을 우선 하셔야 합니다.
  • ‘상태 -> 프로세스’ 메뉴로 이동을 합니다. 거기를 보면 ‘로그 정보’라는 섹션이 있을 것입니다. 이 로그 정보는 mudfish.exe 가 출력하는 정보로써 처음 프로그램이 시작할 때 부터 현재까지 있었던 메시지들을 가지고 있습니다.
  • 로그 윗 부분을 보시면 [INFO] Listening the mangement console... 로 되어 있는 줄이 바로 CLI IP/PORT 정보입니다. IP 는 항상 127.0.0.1 인 로컬 네트워크로 세팅되며 port 는 OS auto-assigning 되게 됩니다.

이제 명령 프롬프트 창에서 해당 IP/PORT 로 telnet 명령을 통해 접속하시면 됩니다. 예를 들어 127.0.0.1:35323 로 적혀 있다면 아래와 같이 접속하실 수 있습니다.

C:\> telnet 127.0.0.1 35323

-----------------------------
MUDFISH CLI v2.0.8
-----------------------------

Type 'help' for command list.
Type 'quit' to close CLI session.

CLI 명령들

Warning

현재 CLI 명령어들을 작은 실수로도 assert fail 로 미꾸라지 프로그램이 죽을 수 있습니다. 워낙 개발자가 이 기능을 만들 때 와~~~ㄴ전 개발자 friendly 하게 작성하였기 때문에...

미꾸라지 Core 프로그램은 FreeBSD TCP/IP stack 과 network framework 기반으로 작성된 프로그램입니다. (제가 FreeBSD 에 가장 익숙하다 보니.... 쿨럭....) 그래서 CLI 에서 제공하는 명령어들을 모두 FreeBSD 에서 제공하는 명령어 기능과 거의 흡사합니다. 물론 사용법 또한 비슷하구요.

CLI 에 접속하셨다면 help 명령을 실행해 보십시오. 현재 지원하는 명령어들의 리스트를 볼 수 있습니다.

help
    arp                 Address resolution display and control
    connect             Test a connection to the remote
    help                Show this help message
    ifconfig            Configure network interface parameters
    netstat             Show network status
    ping                send ICMP ECHO_REQUEST packets to network hosts
    route               Manually manipulate the routing tables
    quit                Exit CLI interface
    sysctl              Get or set kernel state

혹시 각 명령어에 대한 완전한 설명이 필요하시다면 이 링크 에서 검색하셔서 찾아보실 수 있습니다. connect 명령을 제외하면 FreeBSD 8.0 RELEASE 기준으로 동일하게 작동하여야 합니다.

connect 명령

connect
usage: connect ip port

connect 68.180.206.184 80
connection was good (RTT 0.156 secs)

이 명령은 미꾸라지 가상 인터페이스 (re(4) 혹은 msk(4)) 들을 통해서 TCP connect(2) 연결을 시도하는 명령어입니다. 의도는 접속하고자 하는 IP 와 PORT 에 미꾸라지를 통한 연결이 가능한지를 알기 위한 디버깅 용입니다.

연결 실패 시 오류나 Timeout 메시지가 찍히며 성공 시 예상 RTT 값이 함께 출력 됩니다.