ADB를 활용한 네트워크 및 포트 포워딩
Android Debug Bridge(ADB)는 Android 기기와 PC 간의 연결을 제공하는 강력한 도구입니다. 이를 활용하면 네트워크 관련 작업을 수행할 수 있으며, 특히 포트 포워딩 기능을 통해 개발 및 디버깅을 보다 효율적으로 할 수 있습니다. 이번 포스팅에서는 ADB를 활용한 네트워크 및 포트 포워딩 방법을 설명하고, 각 명령어의 동작을 예제와 함께 소개하겠습니다.
1. ADB를 활용한 포트 포워딩
포트 포워딩(Port Forwarding)은 특정 포트를 다른 포트로 매핑하는 기술로, ADB에서는 adb forward
와 adb reverse
명령어를 이용하여 이를 수행할 수 있습니다.
1.1 adb forward
: PC에서 Android 기기로 포트 포워딩
adb forward
명령어를 사용하면 PC의 특정 포트를 Android 기기의 포트로 포워딩할 수 있습니다. 이는 주로 개발자가 기기에서 실행되는 애플리케이션과 통신하는 데 유용합니다.
사용법
adb forward tcp:<local_port> tcp:<device_port>
예제
PC의 8080
포트를 Android 기기의 5000
포트로 포워딩하는 경우:
adb forward tcp:8080 tcp:5000
이제 PC의 localhost:8080
에 접근하면 Android 기기의 5000
포트로 요청이 전달됩니다.
포트 포워딩 해제
설정한 포워딩을 제거하려면 다음 명령어를 사용합니다.
adb forward --remove tcp:<local_port>
또는 모든 포워딩을 해제하려면 다음 명령어를 사용합니다.
adb forward --remove-all
1.2 adb reverse
: Android 기기에서 PC로 포트 포워딩
adb reverse
명령어를 사용하면 Android 기기의 특정 포트를 PC의 포트로 포워딩할 수 있습니다. 이는 주로 Android 앱이 로컬 서버(예: 개발 중인 웹 서버)에 연결할 때 유용합니다.
사용법
adb reverse tcp:<device_port> tcp:<local_port>
예제
Android 기기의 6000
포트를 PC의 8080
포트로 포워딩하는 경우:
adb reverse tcp:6000 tcp:8080
이제 Android 기기의 localhost:6000
에 접속하면 PC의 8080
포트로 요청이 전달됩니다.
포트 포워딩 해제
설정한 포워딩을 제거하려면 다음 명령어를 사용합니다.
adb reverse --remove tcp:<device_port>
또는 모든 포워딩을 해제하려면 다음 명령어를 사용합니다.
adb reverse --remove-all
2. ADB를 활용한 네트워크 상태 확인
네트워크 상태를 확인하고 문제를 해결하기 위해 Android 기기의 네트워크 설정을 확인하는 것이 중요합니다. ADB를 활용하면 현재 네트워크 상태를 쉽게 확인할 수 있습니다.
2.1 adb shell netcfg
또는 adb shell ip a
: 네트워크 상태 확인
기기의 네트워크 인터페이스 정보를 확인하려면 adb shell netcfg
또는 adb shell ip a
명령어를 사용할 수 있습니다.
사용법
adb shell netcfg
또는
adb shell ip a
출력 예시 (adb shell ip a
실행 시)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default
inet 192.168.0.101/24 brd 192.168.0.255 scope global wlan0
valid_lft forever preferred_lft forever
위와 같은 결과를 통해 기기의 네트워크 인터페이스(wlan0
, lo
등)와 IP 주소를 확인할 수 있습니다.
2.2 adb shell ping <ip>
: 네트워크 연결 확인
Android 기기에서 특정 IP 주소로 네트워크 연결을 확인하려면 ping
명령어를 사용할 수 있습니다.
사용법
adb shell ping <ip>
예제
Google DNS(8.8.8.8)로 핑 테스트를 실행하는 경우:
adb shell ping 8.8.8.8
정상적으로 네트워크가 연결되어 있다면 다음과 같은 응답을 받습니다.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=10.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.2 ms
만약 연결이 안 된다면 네트워크 상태를 다시 확인하고 설정을 점검해야 합니다.
3. 정리
이번 포스팅에서는 ADB를 활용한 네트워크 및 포트 포워딩 방법을 살펴보았습니다.
adb forward
명령어를 통해 PC에서 Android 기기로 포트 포워딩할 수 있습니다.adb reverse
명령어를 통해 Android 기기에서 PC로 포트 포워딩할 수 있습니다.adb shell netcfg
또는adb shell ip a
를 사용하여 네트워크 상태를 확인할 수 있습니다.adb shell ping <ip>
명령어를 통해 네트워크 연결을 테스트할 수 있습니다.
이러한 명령어를 활용하면 Android 개발 및 디버깅을 보다 원활하게 진행할 수 있습니다. 필요에 따라 ADB의 다양한 네트워크 기능을 추가로 학습해 보시기 바랍니다.
'Android > ADB' 카테고리의 다른 글
ADB를 활용한 Android 시스템 설정 변경 (0) | 2025.02.23 |
---|---|
ADB를 활용한 백업 및 복원 (0) | 2025.02.22 |
ADB 활용 고급 팁 및 문제 해결 (0) | 2025.02.20 |
Fastboot 모드 및 부트로더 관리 (0) | 2025.02.19 |
ADB를 활용한 개발 및 자동화 (0) | 2025.02.18 |