MQTT_WireShark Practice

wldbs._.·2024년 9월 11일

MQTT

목록 보기
4/7
post-thumbnail

MQTT 초기 실습 - WireShark


Terminal

mosquitto -v -p 포트번호
-> 기본 포트 번호인 1883 말고, 지정한 새로운 포트 번호로 브로커 구동할 수 있다

mosquitto_sub -t cook -C 1
-> 메시지 1개 받고, disconnect 요청 보내고 종료한다

-C : disconnect and exit after receiving the 'msg_count' messages.

-> ^C 하면 disconnect 안하고 종료된다.

그에 반해, 발행자는 주제에 대한 메시지를 보낸 후, disconnect하고 바로 종료된다


WireShark

: TCP/IP 위에서 MQTT 작동, 클라이언트(발행자, 62020)이 브로커(서버, 1883)에게 연결 CONNECT 요청
: msg len = remaining length -> 메시지의 고정 헤더(Fixed Header)를 제외한 나머지 부분의 길이

: 브로커(서버, 1883)가 클라이언트(발행자, 62020)에게 연결 확인 CONNACK 발송

: 클라이언트(발행자, 62020)이 브로커(서버, 1883)에게 cook topic에 대한 msg3 hello3 메시지 발행, QoS=0

: 클라이언트(구독자, 62024)가 브로커(서버, 1883)에게 cook topic 구독 요청

: 브로커(서버, 1883)가 클라이언트(구독자, 62035)에게 cook topic 대한 msg3 hello5 메시지 발행, QoS=0

  • Payload (메시지 내용): UTF-8로 인코딩된 문자열이거나 바이너리 데이터

: 클라이언트(구독자, 61539)가 브로커(서버, 1883)에게 PING REQUEST 요청

: 브로커(서버, 1883)가 클라이언트(구독자, 61539)에게 PING RESPONSE 발송

  • PING RequestPING Response (MQTT에서는 PINGREQPINGRESP)는
    -> 클라이언트와 브로커 간의 연결을 유지하고, 활성 상태를 확인하기 위한 "Keep Alive" 메커니즘의 일부
    -> -k 옵션을 사용하여 Keep Alive 시간을 초 단위로 설정

ChatGPT 답변

profile
공부 기록용 24.08.05~ #LLM #RAG

0개의 댓글