실제로 TCP 스트림을 덤프하기 위해 tcpdump (또는 다른 도구)를 만드는 방법은 무엇입니까?


6

나는 이와 같은 것을 기대한다 :

$ nc example.com 80
GET / HTTP/1.0

HTTP/1.0 500 K.O.
Content-Type: application/null
Content-Length: -1
$ 

Meanwhile: 
# tcpdump -i eth0 --actually-dump-all-tcp
217.21.51.1:56812->192.0.43.10:80 GET / HTTP/1.0
217.21.51.1:56812->192.0.43.10:80 
217.21.51.1:56812<-192.0.43.10:80 HTTP/1.0 500 K.O.
217.21.51.1:56812<-192.0.43.10:80 Content-Type: application/null
217.21.51.1:56812<-192.0.43.10:80 Content-Length: -1

이제 Wireshark를 사용하지만 연결 고양이를로드하는 동안 여러 번 완료됩니다.


tcpdump는 실제로 TCP 스트림을 덤프합니다. 무엇을 찾고 있습니까? 하나의 특정 TCP 세션 만 캡처하려고합니까?
Flimzy

@Flimzy 아니요, ASCII로 덤프하려고합니다.
새로운 123456

답변:


3

tcpdump 일반적으로 실제 데이터와 달리 패킷 정보를 표시합니다.

-AASCII 컨텐츠를 덤프 하려면 플래그를 사용하십시오 . 여전히 많은 다른 데이터 (예 : ARP 및 DNS 패킷)를 덤프하지만 필터를 통해 원하는 것을 얻을 수 있어야 합니다 .


더 가까운 형태로 인쇄하기 위해 더러운 oneliner :tcpdump -n -A -i eth0 | perl -ne 'if(/\d\d:\d\d:\d\d\.\d{6} IP (\d+\.\d+\.\d+\.\d+)\.(\d+) > (\d+\.\d+\.\d+\.\d+)\.(\d+)\:.*length (\d+)/) { $preamble="$1:$2->$3:$4 "; } else { print "$preamble$_"; }'
Vi.

@Vi는 내 머리는 작업에서 강화되지 않은 경우 setjmp/ longjmp펄 내 머리 튀김 한 것으로, 해커. 나는 더글러스 가 그것을 본다면 적합 할 것이라고 확신 한다;)
new123456

9

시험

tcpflow -v -i iface

이것은 "IP_A.port.-IP_B.port"와 같은 파일 이름을 가진 많은 파일을 만듭니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.