2014-10-24 3 views
1

내 DNS (언 바운드)에서 가져온 이진 데이터의 압축을 풀려고합니다.Python을 사용하여 DNS Wireformat 압축 풀기

'\ x00에서 \ X10 \ x03ns1 \ x06google \ x03com \ x00에서'

'\ x00에서 \ 배속 \ x00에서 \ n \ x05aspmx \ x01l \ x06google \ 포맷 (예를 들어)이 같다 x03com \ x00부터 '

'\ x00부터 \ X1B \ X002 \ x04alt4 \ x05aspmx \ x01l \ x06google \ x03com \ x00부터 '

내가 파이썬에서이 일을하고 있는데이와 그렇게하기 위해 노력 해왔다 구조체 모듈의 언팩 메소드.

그러나 형식을 표현하는 적절한 방법을 찾을 수 없습니다. 그 도움 좀받을 수 있을까요?

+0

예상 출력은? –

+0

이 데이터를 언 바운드에서 어떻게 받습니까? – VooDooNOFX

답변

0

DNS 와이어 포맷은 패킷 내에 내부 포인터를 포함 할 수 있으며 (매우 자주) 파이썬 구조 모듈이 의도 한 바깥에 잘 맞을 수 있습니다. 게다가 모든 단일 유형의 리소스 레코드는 자체 사양에 따라 압축을 풀어야합니다.

철사 형식의 DNS 패킷을 구문 분석하는 것은 DNS가 실제로 작동하는 방법을 배우는 훌륭한 방법이지만, 실제로 목표를 달성하려면 실제로 라이브러리를 찾는 것이 좋습니다. 어려운 작업은 아니지만 많은 작업이 필요합니다.