역방향 애플리케이션을 배우고 싶은데 애플리케이션의 네트워크를 덤프하는 방법이 혼란스럽습니다. 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
.
주목할 만한 점: wireshark
GUI 프로그램 자체(현재 버전은 Qt를 사용하고 이전 버전은 GTK를 사용함)이지만 tshark
ssh 세션을 통해 원격으로 실행해야 하는 경우 유용한 콘솔 버전도 있습니다. 또한 실시간 네트워크 캡처는 물론 wireshark
패킷 캡처 파일(예: tcpdump -w filename -s 0
또는 에서 생성된 파일)도 분석할 수 있습니다.tshark -w filename
배포판에 따라 tshark
동일한 패키지에 있을 수도 있고 wireshark
별도의 패키지에 있을 수도 있습니다. 예를 들어 Debian에서는 패키지에 있습니다 tshark
.
또한 네트워크 트래픽에 가장 관심이 있는 경우libwww-perl(웹 봇 및 유사한 도구를 작성하기 위한 Perl 라이브러리인 LWP라고도 함)에는 요청 및 응답 헤더 체인과 다음 호출을 포함하여 URL에서 헤더 및/또는 데이터를 추출하기 위한 lwp-request
(별칭 HEAD
, GET
및 POST
)이라는 명령줄 도구가 함께 제공됩니다 lwp-dump
."URL이 어떤 헤더와 콘텐츠를 반환하는지 확인하세요".
LWP는 배포용 패키지로도 제공될 수 있습니다. 예를 들어, 데비안에서는apt-get install libwww-perl