본문 바로가기

개발자는 오늘도 달립니다.

[안드로이드] Android Emulator With Nox. 포트포워딩 및 리다이렉션 쉽게 하는 방법 본문

모바일/안드로이드

[안드로이드] Android Emulator With Nox. 포트포워딩 및 리다이렉션 쉽게 하는 방법

✍21시간 2019. 8. 10. 17:14

 

한 서버에서 단일 프로세스는 통신하는게 어렵지 않은데

내부적으로 네트워크 망을 구성하는 버추얼 환경에서는 포트포워딩이 필요하죠.

기존 버추얼OS 를 많이 다루시는 분들은 버추얼박스라든가 VMWare를 통해 쉽게 설정을 했을텐데

안드로이드 에뮬레이터 (녹스) 에서는 설정하는 방법이 난해 한 것 같아서 정리를 해두었습니다!

 

 

1. 녹스 위에 앱 켜주기!

에뮬레이터 (녹스) 위에 테스트 앱을 동작시키고, 4422번 포트를 열고 외부 서버(상위 네트워크 망)에서 접속이 되도록 할께요~!

녹스 에서 어플리케이션 동작 화면

 

 

2. CMD 창에서 명령어 입력!

CMD 창을 여시고 녹스가 설치 된 bin 경로에서 위과 같은 3개의 명령어를 순서대로 처리해주세요!

1). 커넥트 하는 단계

- nox_adb.exe connect 127.0.0.1:62001

2). 커넥트가 잘 되어있는지 확인

- nox_adb.exe devices -l

3). 4422번 포트를 에뮬 localhost 아이피 4422번 포트로 포워드 해줍니다. 

- nox_adb forward tcp:4422 tcp:4422

 

 

 

 

3. stcppipe 활용 해서 리다이렉션 하기!

 

※ TCP 용 (지금은 이걸 다운받습니다.)

Simple TCP proxy/datapipe 0.4.6a 

http://aluigi.org/mytoolz/stcppipe.zip

 

※ UDP 용

Simple UDP proxy/pipe 0.4.1

http://aluigi.org/mytoolz/sudppipe.zip

 

 


에뮬레이터의 UDP/TCP 포트 를 현 호스트(개발) 시스템의 포트포워딩해 주는 역할을 합니다.

(말그대로 현 호스트(개발) 시스템 IP, 정해진 포트로 에뮬과 통신이 가능해진다.)

※ 컴파일 명령어 - $ gcc -o stcppipe stcppipe.c -lpthread -lssl

 

예) stcppipe -b host-ip emul-ip host-port emul-ip

proxy 서버를 실행해주세요. 저는 192.168.2.9:4242 로 들어오는 접속에 대해서 127.0.0.1:4422 쪽으로 리다이렉션 시켰어요.

 

텔넷을 이용하여 에뮬레이터 192.168.2.9:4422 로 접속을 시도하였더니 에뮬레이터로 부터 접속이 확인 되었습니다~!

Comments