문제

이를 위해 Wireshark보다 더 나은 도구를 찾고 있습니다.Wireshark의 문제점은 다른 패킷을 비교하고 타사 인코딩(비공개 소스)을 이해하려고 시도할 수 있도록 데이터 계층(내가 보고 있는 유일한 부분)을 깔끔하게 형식화하지 않는다는 것입니다.

구체적으로, TCP/UDP 헤더 정보가 아닌 데이터를 보기 위한 좋은 도구는 무엇입니까?특히, 비교를 위해 데이터 형식을 지정하는 도구입니다.

매우 구체적으로 말하면:나는 16진수로 된 여러(단지 2개가 아닌) 파일을 비교하는 프로그램을 원합니다.

도움이 되었습니까?

해결책

솔직히 가장 좋은 방법은 직접 굴리는 것입니다.

자신에게 편한 스크립팅 언어를 구하고 문제 해결을 시작하세요.먼저 간단한 다자간 비교를 작성합니다. 그러나 중요하다고 생각하는(또는 그럴 수 있다고 생각하는) 패턴을 찾기 시작하자마자 돌아가서 코드에 추가합니다. 출력에서 ​​해당 패턴을 제거하고 강조 표시하고 번역합니다. 다른 표기법으로 바꾸려면 해당 "의미" 또는 해당 역할에 대한 높은 수준의 설명(적절하다고 생각되는 것)으로 바꾸십시오.결정할 수 없다면 옵션으로 만드세요.

귀하는 인코딩에 대한 이해를 형성하고 내면화하는 데 도움이 되는 무언가를 원하기 때문에 시각화 소프트웨어를 요청하고 있습니다.그러나 여러분이 하려고 하는 비교는 여러분이 사용할 프로세스(본질적으로 과학적인 방법)의 일부일 뿐입니다. 또한 패킷의 다양한 부분이 무엇을 의미하는지, 어떻게 상호 작용하는지에 대한 추측을 형성하고 수정하게 됩니다. , 등.

사전 구축된 도구는 도움이 되지 않지만, 좋은 스크립팅 언어(예: Python, Ruby 또는 Perl)가 많은 도움이 될 것입니다.이론을 형성하면서 이를 코딩하고 시험해 보세요.코드를 뒤섞고, 떠오르는 다양한 아이디어를 시도하고, 진행하면서 이 문제에 맞게 맞춤화된 트릭 가방을 만들어보세요.

-- 마커스Q

추신C나 Java 등을 사용하여 이를 수행하려는 함정에 빠지지 마십시오.빠르고 느슨하게 플레이할 것이며 변수 선언, 컴파일 등이 필요하지 않은 도구가 있어야 합니다.그것을 강화하고 다시 작성할 기회가 많이 있을 것입니다. 일단 그것이 어떻게 작동하는지 이해하면.

다른 팁

보세요 BreakingPoint Labs의 이 블로그 게시물.그들은 수동 프로토콜 리버스 엔지니어링과 이를 기반으로 구축된 도구 세트에 대해 논의하고 있습니다. 패킷푸 이 작업을 더 쉽게 만들기 위해.

귀하의 질문과 관련된 것은 패킷의 변경 사항을 쉽게 식별하고 강조 표시할 수 있는 도구 세트입니다.다음은 패킷 차이를 설명하기 위해 색상을 사용하는 방법을 보여주는 예시 스크린샷입니다.alt text
(원천: breakpointsystems.com)

문제는 네트워크 데이터를 분석하는 것이 아니라 필요에 따라 설명대로 이진 파일을 비교하는 것입니다.

Zoreadche 또는 Wireshark (즉, TCP 세션을 따르는 방법)에 의해 설명 된 TCPDUMP를 통해 모든 스니퍼, 즉 TCPDUMP를 통해 응용 프로그램 데이터를 추출합니다. 그런 다음 파일에 저장하고 파일 비교 도구로 비교하십시오. 이것들 (가장 인기있는)을 시도 할 수 있습니다.

  • ExamDiff Pro. 정말 빠른 비교 디렉토리.
  • Winmerge. ExamDiff Pro만큼 빠르지는 않지만 OpenSource이며 빠르게 발전하고 있습니다. 그것은 나의 첫 번째 선택입니다.
  • 비교하여. 이것은 내가 알고있는 유일한 파일 비교 도구이며, 당신이 찾고있는 것을 정확하게 수행하는 것은 동시에 시도 파일을 비교하는 것입니다.

http만으로, 나는 훌륭한 도구를 사용했었다. Effetech.
(지금 그것을보고 있지만 그들은 단순한 HTTP 이상의 것을 지원하는 것 같습니다 ....)

문제는 응용 프로그램 계층의 데이터가 표준이 아니라는 것입니다 (HTTP, POP3 등과 같은 예외는 거의 없습니다). Wireshark와 같은 도구는 형식을 모르는 경우이 정보를 해독 할 수 없습니다.

나는 일부 오래된 버전의 Ethereal (현재 Wireshark)이 페이로드를 보여주기 위해 옵션 (활성화해야 할 수도 있음)이 있다는 것을 알고 있습니다. 의미가 없을 것으로 예상되면 대부분의 프로토콜은 바이너리에 있습니다!

캡처가있는 경우 에테얼로 수행 한 경우 캡처를 읽거나 TCPDUMP로 캡처를 수행 할 수 있습니다. 캡처하려면 tcpdump 명령을 사용하십시오 tcpdump -s 0 -qn -x , 또는 tcpdump -x -r 파일 이름 캡처를 읽습니다.

22:08:33.513650 IP 192.168.32.10.40583 > 69.59.196.211.80: tcp 1261
0x0000:  4500 0521 18ec 4000 4006 322a c0a8 200a  E..!..@.@.2*....
0x0010:  453b c4d3 9e87 0050 b0b6 4b4f 1598 0090  E;.....P..KO....
0x0020:  8018 1920 9b4f 0000 0101 080a 002e 701b  .....O........p.
0x0030:  093c bc38 4745 5420 2f75 7365 7273 2f32  .<.8GET./users/2
0x0040:  3032 3637 2f7a 6f72 6564 6163 6865 2048  0267/zoredache.H
0x0050:  5454 502f 312e 300d 0a48 6f73 743a 2073  TTP/1.0..Host:.s
0x0060:  7461 636b 6f76 6572 666c 6f77 2e63 6f6d  tackoverflow.com

아니면 다른 것이 있습니다 tcpick 그것은 당신이 원하는 것일 수 있습니다. TCP 연결의 페이로드를 캡처하고 16 진로 표시되거나 저장 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top