미꾸라지 CLI 사용법
문서에 오류가 있거나 건의 사항이 있으시면 메세지를 미꾸라지 포럼 (http://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 명령들
현재 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
혹시 각 명령어에 대한 완전한 설명이 필요하시다면 이 http://www.freebsd.org/cgi/man.cgi 에서 검색하셔서 찾아보실 수 있습니다. 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 값이 함께 출력 됩니다.