2013-05-29 8 views
11

iPhone이 내 Raspberry Pi와 동일한 네트워크에 있는지 감지하려고합니다. 내가 집에있을 때 스크립트를 실행하고 싶습니다. iPhone의 존재가 내 LAN에 등록되어 있습니다.네트워크에서 iPhone을 어떻게 감지합니까?

휴대 전화가 대기 상태 일 때도 iphone-sync 포트 (6207/tcp)가없는 것 같습니다. "/ usr/bin/nmap -n -sT -p62078 [내 전화기의 로컬 IP]"에는 호스트가 표시되지 않습니다. 내가 무엇을 스캔 할 수 있는지 궁금해. 분명히 전화가 온라인이며 얼굴 회선 통화를받을 준비가되었습니다 (3G를 통한 데이터는 비활성화 됨). 내가 라스베리 파이에서 사용하고있는 avahi로 뭔가를 성취 할 수 있을까요? 아니면 다른 방법이 있습니까?

+0

나는 이것을 포기하고 현재 내 iPhone이 범위 내에 있는지 정기적으로 확인하기 위해 블루투스를 사용하고 있습니다. – PiEnthusiast

+0

누군가가이 문제를 발견하고 블루투스를 사용하여 현재 상태를 감지하기 위해 내가하는 일이 궁금합니다 : 내 (알려진) 장치 주소 ('sudo hcitool name xx : xx : xx : xx : xx : xx'). 유효한 응답을 받으면 전화가 BT 범위 내에 있습니다. – PiEnthusiast

답변

3

arp 캐시를 조사하면 네트워크에있는 장치 목록을 찾을 수 있습니다.

arp -a

는 단순히 일정한 간격 arp -a를 실행하는 bash는 스크립트를 작성하고 휴대 전화의 MAC 주소를 검색합니다.

연결된 장치의 브랜드에 따라이 작업을 수행하고 다른 작업을 수행 할 수 있습니다.

mac 주소의 처음 세 자리 16 진수는 공급 업체 ID입니다.

00:19:E3:AB:CD:EF 

00:19:E3: 사과 장치에 대한 등록 된 MAC 주소 중 하나입니다

는 다음의 MAC 주소를 가져 가라.

네트워크의 장치를 this list과 비교하면 '3com'장치 또는 'dell'장치가 네트워크에 연결될 때를 감지 할 수 있습니다.

http://www.coffer.com/mac_find/?string=apple

+0

팁 주셔서 감사. 유감스럽게도 iPhone은 사용하지 않을 때 일종의 깊은 수면 모드로 들어갑니다. arp 캐시에는 내 네 개의 iD 디바이스가 표시되지 않습니다. – PiEnthusiast

1

당신은 "ARP는 스캔 -l -r10"그것을 위해 (자신이 테스트) 할 수 있지만 모바일 데이터는 화면이 안전에 잠겨 있으면 아이폰 가서 와이파이 정지됩니다 활성화 된 경우 문제가 배터리. 그래서 당신은 모바일 데이터를 비활성화해야합니다. 그러면 arp-scan이 작동합니다.

+0

잠긴 상태에서 iPhone이 WiFi에 얼마나 자주 연결되는지 알고 있습니까? 나는 건물에있는 사람들의 존재감을 생각하고 있는데, 30 분 정도의 정확도가 있다면 문제가되지 않을 것입니다. –

+0

아래의 내 대답을 참조하십시오. 잠기거나 잠자는 iPhone은 상당한 양의 하위 계층 네트워크 트래픽을 전송하므로 해상도를 ~ 20 분으로 줄 수 있습니다 – user3235770

1

저는 일주일 만에이 문제에 휩싸였습니다. 그래서 직장에있을 때 아내에게 SMS 가정용 알람을 보내지 않아도됩니다.

잠자기 때 iPhone이 ICMP에 응답하지 않기 때문에 핑 작동이 작동하지 않습니다. ARP 캐시를 읽는 것은 작동하지 않습니다. 잠자는 iPhone이 나오고 (잠깐 30 초마다 확인하십시오.)

내 두 개의 iPhone이 내 로컬 (홈) 네트워크에있을 때 PCAP dotnet 라이브러리를 사용하여 전화기의 MAC 주소 중 하나에서 발생하는 패킷을 찾는 것이 '안정적으로'확인 된 유일한 방법입니다. 예를 들어, 캡처 필터

ether src <iphone-mac-address> 

과 함께 Wireshark를 실행하면 놀라운 양의 네트워크 검색/발표 트래픽이 전화기에서 표시됩니다. 여전히 정지 상태이지만, 캡처 된 패킷 사이에서 가장 긴 간격은 약 10 분입니다. 집이 아니라고 선언하기 전에 전화를 몇 시간 (15 분 동안) 사용하지 않을 때까지 기다려야합니다.

이 기술을 사용하면 전화가 DHCP로 구성되었다고 가정하면 홈 네트워크에 다시 가입 할 때 전화기를 빠르게 찾을 수 있습니다. 또한 주 이더넷 스위치의 포트 미러링을 사용하여 무선 액세스 포인트의 트래픽을 포함시킵니다.

내 리눅스 전문 지식이 매우 제한되어 있기 때문에 나는 이것을위한 라즈베리 파이 솔루션을 가지고 있지 않지만 다른 누군가가 그 라인을 따라 당신을 도울 수 있습니다. PCAP 라이브러리를 사용하는 Windows 서비스가 있고 지금까지는 iPhone이 네트워크를 떠나기로 결정하기 전에 15 분을 기다리는 제한으로 안정적으로 작동합니다.

* 갱신 2018년 2월 3일 *

내가 분당에 한 번, 각 전화로 이동 핑/ARP 메시지의 조합을 사용하여, 5 분까지이 탐지 알고리즘을 가지고있다. 잘 작동하는 것 같습니다.

관련 문제