수신 및 전송된 네트워크 요청을 덤프하는 방법은 무엇입니까?

수신 및 전송된 네트워크 요청을 덤프하는 방법은 무엇입니까?

역방향 애플리케이션을 배우고 싶은데 애플리케이션의 네트워크를 덤프하는 방법이 혼란스럽습니다. tcpflow, ngrep 등을 시도했습니다. 작동하지만 출력 데이터는 사람이 읽을 수 없습니다. 애플리케이션/호스트에서 네트워크 수신/전송 데이터를 가져오는 Linux 명령을 알려주실 수 있나요? 나는 이것을 시도 할 것이다

sudo ngrep -W byline port 80

산출

interface: wlp1s0 (192.168.230.0/255.255.255.0)
filter: ( port 80 ) and ((ip || ip6) || (vlan && (ip || ip6)))
####
T 192.168.230.135:29464 -> 91.108.56.124:80 [AP] #4
POST /api HTTP/1.1.
Host: 91.108.56.124:80.
Content-Length: 148.
Content-Type: application/x-www-form-urlencoded.
Connection: Keep-Alive.
Accept-Encoding: gzip, deflate.
Accept-Language: en-US,*.
User-Agent: Mozilla/5.0.
.
.............g[c....x.F`$..>o-...O:2..3ib.W.q.._.,.)1.....k.........!..z...M^.g^...I.p...5.yx.Ys...Y*.m.. ....w...uK.%..0`....~.f.&...Q..br..W...3..

일반 텍스트 문자열만큼 읽기 쉽나요?

답변1

시도해 봤어?라인샤크? 이는 tcpdump또는 와 같은 패킷 캡처 프로그램 일 뿐만 아니라 ngrep네트워크 프로토콜 디코더/분석기이기도 합니다. 즉, 네트워크 트래픽을 더 쉽게 해석할 수 있습니다.

그건 그렇고, Wireshark는 실행 중인 배포판(예: 데비안)에 대해 거의 확실하게 패키지되어 있습니다 apt-get install wireshark.

주목할 만한 점: wiresharkGUI 프로그램 자체(현재 버전은 Qt를 사용하고 이전 버전은 GTK를 사용함)이지만 tsharkssh 세션을 통해 원격으로 실행해야 하는 경우 유용한 콘솔 버전도 있습니다. 또한 실시간 네트워크 캡처는 물론 wireshark패킷 캡처 파일(예: tcpdump -w filename -s 0또는 에서 생성된 파일)도 분석할 수 있습니다.tshark -w filename

배포판에 따라 tshark동일한 패키지에 있을 수도 있고 wireshark별도의 패키지에 있을 수도 있습니다. 예를 들어 Debian에서는 패키지에 있습니다 tshark.


또한 네트워크 트래픽에 가장 관심이 있는 경우libwww-perl(웹 봇 및 유사한 도구를 작성하기 위한 Perl 라이브러리인 LWP라고도 함)에는 요청 및 응답 헤더 체인과 다음 호출을 포함하여 URL에서 헤더 및/또는 데이터를 추출하기 위한 lwp-request(별칭 HEAD, GETPOST)이라는 명령줄 도구가 함께 제공됩니다 lwp-dump."URL이 어떤 헤더와 콘텐츠를 반환하는지 확인하세요".

LWP는 배포용 패키지로도 제공될 수 있습니다. 예를 들어, 데비안에서는apt-get install libwww-perl

관련 정보