요즘 생각보다 많은 분들이 IoT 장비에 관심을 갖고 계시더라구요
이전에 살던 아파트의 코콤 월패드와 서버간의 통신이 http 로 구현이 되어있고 사용하게 편하게 되어있어 IoT 에 사용하기 편하겠다는 생각을 했었는데, 이번에 새로 이사온 아파트의 경우는 호락호락하지 않았습니다.
첫번째로 앱이나 웹에서 제어를 하는 경우 API 방식이 아닌 서버에서 렌더링 해서 표여주는 페이지에서 버튼을 누르면 Form 이 POST 되면서 제어가 되는 형식으로 이것이 2020년대에 지어진 아파트의 제어시스템인가 싶을 정도의 충격을 받았습니다.
한가지 다행인점은 인증은 잘 체크한다는 점이었네요.
난방제어, 조명제어 등은 웹파싱과 HTTP POST 를 통해 모두 제어가 가능했지만 이번 아파트에서는 엘레베이터도 API 로 호출해서 제어를 해보고 싶었습니다.
하지만 엘레베이터 호출은 앱이나 웹에서는 지원하지 않고 월패드에서 직접 호출하는 경우에만 가능한 상태입니다.
따라서 IoT 장비등을 통해 엘레베이터를 호출하려면 월패드와 월패드 제어서버가 통신하는 통신을 분석해야 합니다.
그래서 분석해보았습니다.
분석 방식은 ARP Spoofing 을 통한 패킷캡쳐였고 분석 도중 다른 집에 피해가 가지 않도록 저희 집 월패드만 타겟팅 하여 분석을 진행하였습니다.
통신 방식은 월패드와 서버간에 지정된 포트를 통한 TCP 통신이였고 XML 비스무리한 내용을 전달하여 통신하고 있었습니다.
내용을 살펴보면 제어서버를 UIMS 라고 부르는듯 합니다.
주황색으로 칠해놓은 데이터에 대해 설명드리자면 데이터 젤 앞단에는 무슨 뜻인지 알 수 없는 숫자열이 있었고 trans 의 안에는 아마 월패드의 고유번호가 들어가는듯 하였습니다. addr 은 아파트 동호수가 1111-101 형식으로 들어가있었습니다.
제 예상으로는 파라미터에 동과 층수가 있을줄 알았는데 addr 데이터의 동 호수를 파싱하여 엘레베이터를 해당 층으로 보내주는듯 합니다.
이 통신을 응용하면 IoT 브릿지가 외출모드로 바뀌면 엘레베이터를 호출하도록 하는 등의 기능도 구현할수 있을듯 합니다.
그리고 엘레베이터를 호출하면 도착할때까지 제어서버에서 월패드로 위와 같은 데이터를 송신하는데 엘레베이터의 현재 위치와 상행 하행 구분을 보내주고 있습니다.
이 외에도 여러가지 기능들에 대해 테스트를 하고 캡쳐를 해보았는데 대부분 비슷한 데이터 형식을 사용하고 있었습니다.
이 아파트에서는 난방, 환기, 조명, 가스, 엘레베이터 등의 제어가 가능한데 대부분 필요한 것들은 아파트가 공식적으로 제공하는 제어 웹 페이지를 사용하여 가능하기 때문에 이렇게 크게 공 들일 필요가 없는듯 합니다.
하지만 저는 이렇게 공을 들여도 분석만 하고 귀찮아서 쓰지는 않고 있네요.
그리고 아쉬운 점은 대부분의 개발사들이 그렇지만 한번 계약해서 이러한 시스템을 공급한 이후에는 업데이트가 이루어지지 않는다는 점 입니다.
이럴거면 차라리 기본적으로 삼성 스마트씽즈 연동을 해서 제공을 해주었으면 하는 바램이 있습니다.
본 글에 대해 게시중단 요청을 희망하시는 경우 아래 이메일로 연락 부탁드립니다.
4 comments
흥미로운 내용 감사합니다.
혹시 arp spoofing은 어떤 환경에서 진행하셨는지 궁금합니다. 저도 동일한 월패드 이용하고있구요. 월패드뜯어보니 뒤에 랜선이 있더라구요, 스위치를 구성하여서 진행하신건가요?
넵 뒤에 연결된 홈네트워크용 랜선에 스위치를 연결해서 같은 네트워크에 접속한 다음에 진행하였습니다
안녕하세요!
엘베 호출버튼이 현관쪽에서 없어서 패킷따볼까 하고 있었는데
전혀 다른방식이어서 놀랬습니다 ㅎㅎ
혹시 이후로 진행한 내용이 있을까요?
본 포스팅내용은 좀 충격적이네요.
간헐적으로 월패드 먹통이면 항상 답변이 서버이슈 였는데
post 통신으로 서버에서 정보를 받아서 뿌린다니요..
서버 나가면 월패드 다 먹통 되는 거네요 ㅋㅋ
안녕하세요 중앙 서버를 기반으로 동작하는 시스템이라 어쩔수 없는 부분입니다.
저는 Britzy Hub 라는 국산 제품을 사용하여 엘레베이터 호출 등 여러가지 부분들을 해결하였습니다.
해당 개발회사에서 다양한 월패드에 대한 프로토콜 분석을 진행하여 편리하게 사용하실수 있습니다.