패킷에서 추가 정보를 얻기 위해 pcap 파일을 수정하는 방법

패킷에서 추가 정보를 얻기 위해 pcap 파일을 수정하는 방법

일부 정보가 포함된 Pcap 파일이 있습니다.

파일의 데이터를 수정해야 합니다.

예: Wireshark 세부정보

보시다시피 패킷 세부 정보와추가 기록파트 I에는 TXT 값이 있습니다.fn=Room 110

이제 TXT 값을 변경하도록 도와주세요

예: 에서 TXT: fn=Room 110까지TXT: fn=Room 1234

예제 끝

내가 지금까지 한 일

1. Scapy와 16진수 편집기를 사용하여 메타데이터를 변경합니다.

Scapy를 사용하여 대상 주소나 MAC 주소 및 포트를 변경하는 등 몇 가지 사항을 변경했습니다. 하지만 scapy로 TXT 레코드를 변경할 수 없습니다.

16진수를 사용하면 문자열을 16진수로 변환하여 TXT 값을 변경할 수 있지만 길이가 달라야 하는 문제에 직면해 있습니다.

예: TXT: fn=Room 110다음으로 변경할 수 있습니다.TXT: fn=Room 123

하지만 다음과 같이 변경할 수 없습니다. TXT: fn=Room 110TXT: fn=Room 1234 경우 생성된 pcap이 유효하지 않습니다.

다음은 Python을 사용한 샘플 작업 스크린샷입니다.

파이썬 프로그램 이 코드는 대상 Mac, 소스 IP 및 TXT=Room <값: 3비트>를 변경하고 패킷의 "TXT: fn=Room" 전후의 16진수 값을 확인하여 TXT 값을 수정합니다.

이 문제와 관련된 도움을 주시면 대단히 감사하겠습니다.

감사해요.

답변1

내 생각에 이런 일이 일어나는 이유는 다음 fn=Room 1234과 같습니다.fn=Room 110

패킷 내에서 강조 표시된 필드( ) fn=Room 110앞의 16진수는 0b10진수 입니다 11.

여기에 이미지 설명을 입력하세요.

문자 1개를 추가하므로 필드 길이가 1에서 12로 늘어납니다.

따라서 다음 필드의 길이가 12자임을 알 수 있도록 0b이전 필드(다이어그램에서 강조 표시됨)를 변경 해야 합니다 . 0c( echo -n "fn=Room 1234" | wc -c). 0c16진수 값은 12입니다.

관련 정보