LTE RRC 메시지의 16진수 덤프가 있고 Tshark를 사용하여 디코딩하려고 하는데 명령줄 구문을 알 수 없습니다.
이 문제를 해결하기 위해 Wireshark/Tshark의 "사용자 DLT" 기능을 사용하려고 하는데 이것이 최선의/유일한 방법인 것 같습니다.
다음은 메시지의 16진수 덤프입니다.
684C424C18432277700C823504640420211108EB5800
먼저 text2pcap
"User 0 (147) DLT"를 사용하여 .pcap 파일을 만듭니다.
echo 000000 68 4c 42 4c 18 43 22 77 70 0c 82 35 04 64 04 20 21 11 08 eb 58 00 | \
text2pcap -D -l 147 - /tmp/sib.pcap
지금은 그게 문제인 것 같아요. tshark
이 명령의 올바른 구문을 모르겠습니다 . 제가 있는 곳은 다음과 같습니다.
tshark -V -o "uat:user_dlts:\"User 0 (DLT=147)\",\"lte_rrc\",\"0\",\"\",\"0\",\"\"" -r /tmp/sib.pcap
이것은 내가 얻는 결과입니다.
tshark: Invalid -o flag "uat:user_dlts:\"User 0 (DLT=147)\",\"lte_rrc\",\"0\",\"\",\"0\",\"\""
어떤 아이디어가 있나요?
답변1
알고 보니 페이로드 프로토콜에서 잘못된 문자열을 사용한 것뿐이었습니다. 옵션으로 tshark -G protocols
반환되는 것을 보고 lte_rrc
그것만으로도 충분할 줄 알았는데 그렇지 않네요. LTE RRC에서 특정 프로토콜을 지정해야 합니다 lte-rrc.bcch.dl.sch
. 따라서 내 전체 tshark
명령은 다음과 같습니다.
tshark -V -o "uat:user_dlts:\"User 0 (DLT=147)\",\"lte-rrc.bcch.dl.sch\",\"0\",\"\",\"0\",\"\"" -r /tmp/sib.pcap
불행하게도 지금까지 이 옵션에 지정할 수 있는 사용 가능한 프로토콜의 전체(또는 전체에 가까운) 목록을 찾을 수 없습니다 -o
.
다행히도 내 특정 목적을 위해3GPP 프로토콜 디코더, http://3gppdecoder.free.fr필요한 셀룰러 프로토콜 목록을 제공합니다. 분명히 이것은 다른 프로토콜에는 도움이 되지 않을 것입니다. 그러나... 완전한 목록이 있으면 좋을 것입니다.