본문으로 건너뛰기

TCP 스캔 API

TCP 스캔 API는 IPv4 주소 범위를 TCP 연결성으로 스캔하고 네트워크에서 ADB를 통해 접근 가능한 Android 기기를 자동으로 연결합니다. 수동 adb connect 명령 없이 무선 Android 기기를 검색하고 연결하는 데 유용합니다.

엔드포인트

POST /api/v1/device/tcp-scan

요구 사항

라이선스 요구 사항

이 API는 Pro, Team 또는 Business 플랜이 필요합니다. Starter 플랜은 접근 권한이 없습니다.

요청 본문

모든 필드는 선택 사항입니다. 생략하면 앱은 설정에서 구성된 IP 범위와 포트를 사용합니다.

필드유형필수설명
start_ipstring아니오시작 IPv4 주소 (예: "192.168.1.2"). 기본값: 앱에 저장된 설정.
end_ipstring아니오종료 IPv4 주소 (예: "192.168.1.254"). 기본값: 앱에 저장된 설정.
portinteger아니오스캔할 TCP 포트 (예: 5555). 기본값: 저장된 scan_port (기본값: 5555).
서브넷 제약

스캔은 단일 /24 서브넷으로 제한됩니다. start_ipend_ip가 서로 다른 /24 서브넷에 속하면 범위가 자동으로 start_ip.x.x.255로 잘립니다.

예시

앱 설정 사용 (권장)

앱에서 구성된 IP 범위와 포트를 사용하려면 빈 본문을 보내세요:

curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{}'

사용자 지정 IP 범위

curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{
"start_ip": "192.168.1.2",
"end_ip": "192.168.1.254",
"port": 5555
}'

응답

{
"code": 0,
"message": "success",
"data": {
"total": 3,
"success": 2,
"failed": 1,
"details": [
{
"ip": "192.168.1.100",
"success": true,
"message": "already connected to 192.168.1.100:5555"
},
{
"ip": "192.168.1.101",
"success": true,
"message": "connected to 192.168.1.101:5555"
},
{
"ip": "192.168.1.102",
"success": false,
"message": "failed to connect to 192.168.1.102:5555"
}
]
}
}

응답 필드

필드유형설명
data.totalintegerTCP 포트에 응답한 총 IP 수
data.successintegerADB를 통해 성공적으로 연결된 IP
data.failedintegerADB 연결에 실패한 IP
data.detailsarrayIP별 결과 목록
data.details[].ipstring스캔된 IP 주소
data.details[].successbooleanADB 연결 성공 시 true
data.details[].messagestringADB 출력 또는 오류 메시지

오류 응답

HTTP 상태코드설명
403403API 접근에는 Pro+ 플랜이 필요합니다

작동 방식

  1. TCP 탐지 — 범위 내 각 IP를 1초 TCP 연결 타임아웃으로 테스트합니다 (동시에).
  2. ADB 연결 — 응답하는 각 IP에 대해 adb connect <ip>:<port> 를 시도합니다 (최대 2회 재시도).
  3. 결과 집계 — 모든 IP별 결과를 수집하여 반환합니다.

스캔 성공 후 연결된 기기는 TikMatrix에 자동으로 나타납니다.