Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

미꾸라지 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 값이 함께 출력 됩니다.