Help: Capture HTTP using TCPDump??

User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Help: Capture HTTP using TCPDump??

Post by Siberian Cableman »

Please help:

Could you advice me how to capture HTTP using tcpdump to get it is readable format. This is what I get right now:

# /usr/local/sbin/tcpdump -i1 -s 65535 -X host 192.168.15.203
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on hme0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:08:37.853348 IP 192.168.15.203.8080 > 224.168.15.203.8080: UDP, length: 432
0x0000 4500 01cc 0000 4000 0111 b73a c0a8 0fcb E.....@....:....
0x0010 e0a8 0fcb 1f90 1f90 01b8 27aa 7708 eca5 ..........'.w...
0x0020 f170 3226 fbea 7372 0013 7765 626c 6f67 .p2&..sr..weblog
0x0030 6963 2e72 6a76 6d2e 4a56 4d49 44dc 49c2 ic.rjvm.JVMID.I.
0x0040 3ede 121e 2a0c 0000 7702 0000 7870 7752 >...*...w...xpwR
0x0050 1996 d635 008b d962 bb00 0e31 3932 2e31 ...5...b...192.1
0x0060 3638 2e31 352e 3230 33c0 a80f cb00 0000 68.15.203.......
0x0070 0700 001f 9000 001f 9000 0023 2a00 0023 ...........#*..#
0x0080 2a00 001f 9000 0023 2aff ffff ff00 086d *......#*......m
0x0090 7964 6f6d 6169 6e00 096d 6173 5365 7276 ydomain..masServ
0x00a0 6572 7877 1a00 0000 0000 0000 0000 0066 erxw...........f
0x00b0 1900 0000 0000 0000 f200 0000 0000 0075 ...............u
0x00c0 7200 025b 42ac f317 f806 0854 e002 0000 r..[B......T....
0x00d0 7702 0000 7870 0000 00f2 7372 0021 7765 w...xp....sr.!we
0x00e0 626c 6f67 6963 2e63 6c75 7374 6572 2e48 blogic.cluster.H
0x00f0 6561 7274 6265 6174 4d65 7373 6167 659e eartbeatMessage.
0x0100 b3fa 6370 cba4 890c 0000 7702 0000 7870 ..cp......w...xp
0x0110 7372 0013 6a61 7661 2e75 7469 6c2e 4172 sr..java.util.Ar
0x0120 7261 794c 6973 7478 81d2 1d99 c761 9d03 rayListx.....a..
0x0130 0001 4900 0473 697a 6577 0200 0078 7000 ..I..sizew...xp.
0x0140 0000 0477 0400 0000 0473 7200 1e77 6562 ...w.....sr..web
0x0150 6c6f 6769 632e 636c 7573 7465 722e 4c61 logic.cluster.La
0x0160 7374 5365 714e 756d 4842 49d9 c8e3 cd12 stSeqNumHBI.....
0x0170 21fa ae0c 0000 7702 0000 7870 770c 0000 !.....w...xpw...
0x0180 0001 0000 0000 0000 0000 7873 7100 7e00 ..........xsq.~.
0x0190 0477 0c00 0000 0400 0000 0000 0000 0078 .w.............x
0x01a0 7371 007e 0004 770c 0000 0002 0000 0000 sq.~..w.........
0x01b0 0000 0023 7873 7100 7e00 0477 0c00 0000 ...#xsq.~..w....
0x01c0 0300 0000 0000 0000 1578 7878 .........xxx
16:08:47.864341 IP 192.168.15.203.8080 > 224.168.15.203.8080: UDP, length: 432

Is it possible to get in form allows to analyze http traffic (post/get/etc.). If it is what tcpdump's keys should I use? It runs on Solaris 8 box with IP 192.168.15.203

Thanks,
Alex
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: Help: Capture HTTP using TCPDump??

Post by Sabina »

Siberian Cableman wrote:Please help:

Could you advice me how to capture HTTP using tcpdump to get it is readable format.


Можно пальцем в небо?

http://lists.netfilter.org/pipermail/netfilter/2003-June/044916.html
.........
If you just want to capture http traffic using
tcpdump, do:
tcpdump tcp port 80
This would get rid of the dns, icmp and netbios packets....

Сабина
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

Проблема не в том, что бы отфильтровать все лишнее (это уже следующий шаг), а в том что бы получить для начала ВСЕ в читаемом виде.

Вроде бы как -Х ключ позволят выводить это все в ASCII формате, но все равно какя-то муть получаеться. Скорее всего я дурак, и не знаю как этими клучами пользоваться :-(
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Siberian Cableman wrote:Проблема не в том, что бы отфильтровать все лишнее (это уже следующий шаг), а в том что бы получить для начала ВСЕ в читаемом виде.

Вроде бы как -Х ключ позволят выводить это все в ASCII формате, но все равно какя-то муть получаеться. Скорее всего я дурак, и не знаю как этими клучами пользоваться :-(


Cогласно тому что я прочла-x prints each packet in hex ....

Если и без -х не получается, можно попробовать записать дамп в файл (-w) и потом прочесть (-r)
Это опять-таки согласно тому что я прочла

А еще там есть про тулы, которыми пользуются для чтения tcp дампов.

Сабина
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

Слушаите Sabina, да Вам просто цены нет. Именно так все и оказалось.

/usr/local/sbin/tcpdump -i1 -s 65535 -X tcp port 8080

Он теперь дампит все что мне надо. Осталось только сделать так что-бы дампился только трафик в/из 192.168.15.203. Но даже если это сделать и не удасться, то и так уже 99% работы сделано

Я по правде говоря разумеется видел подобние сеттинги, но что-то не решался их использовать. Так бы без Вашего поста и не решился бы попробовать.

Спасибо
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

I meant -X key (capital X). It shows in both Hex and ASCII
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

Siberian Cableman wrote:Так бы без Вашего поста и не решился бы попробовать.
Спасибо


И вам спасибо. Теперь буду знать некоторые детали tcpdump :mrgreen:

Сабина
User avatar
KYKAH
Ник закрыт.
Posts: 994
Joined: 26 Aug 2003 16:14
Location: Riga > Ottawa > Hartford

Post by KYKAH »

Советую делать output в snoop формате, см. man tcpdump.
Потом берете Ethereal и смотрете все что надо.
Ethereal -- самая правильная прога, существует под все платформы.
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

Я тут статейку "тиснул", как всем этим пользоваться, на примере windump.
Ну что-то типа шпаргалки, что бы не разбираться с ключами каждый раз

http://www.zorranlabs.com/articles/tcpd ... indows.htm
User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Post by Strannik223 »

KYKAH wrote:Советую делать output в snoop формате, см. man tcpdump.
Потом берете Ethereal и смотрете все что надо.
Ethereal -- самая правильная прога, существует под все платформы.


Он и сам слушать умеет, безценная вещь для разборок типа "кто виноват" браузер или сервер :)
Да и вообще кучу протоколов разшифровывает
User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Post by Strannik223 »

Siberian Cableman wrote:Слушаите Sabina, да Вам просто цены нет. Именно так все и оказалось.

/usr/local/sbin/tcpdump -i1 -s 65535 -X tcp port 8080

Он теперь дампит все что мне надо. Осталось только сделать так что-бы дампился только трафик в/из 192.168.15.203. Но даже если это сделать и не удасться, то и так уже 99% работы сделано

Я по правде говоря разумеется видел подобние сеттинги, но что-то не решался их использовать. Так бы без Вашего поста и не решился бы попробовать.

Спасибо


добавь
host 192.168.15.203
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

добавь
host 192.168.15.203


/usr/local/sbin/tcpdump -i1 -s 65535 -X 'tcp port 8080 and host 192.168.15.203' ?? shows nothing
User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Post by Strannik223 »

Siberian Cableman wrote:
добавь
host 192.168.15.203


/usr/local/sbin/tcpdump -i1 -s 65535 -X 'tcp port 8080 and host 192.168.15.203' ?? shows nothing


А должен?
Hint: сделай в это время с другой консоли telnet 192.168.15.203 8080
User avatar
idle0
Уже с Приветом
Posts: 2846
Joined: 28 Jun 2000 09:01
Location: Milwaukee, WI

Post by idle0 »

Я обычно или

a) сохраняю в файл "tcpdump -w /tmp/tcp.log -s 1500 port 80" а потом пропускаю через ethereal или

б) quick and dirty trick: "tcpdump -w - -s 1500 port 80 | strings"
moria# show running-config
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

А должен?
Hint: сделай в это время с другой консоли telnet 192.168.15.203 8080

Должен

$ telnet 192.168.15.203 8080
Trying 192.168.15.203...
Connected to 192.168.15.203.
Escape character is '^]'.
Connection closed by foreign host.

б) quick and dirty trick: "tcpdump -w - -s 1500 port 80 | strings"

В чем хитрость трюка, и что такое strings??
strings - print the strings of printable characters in files.
User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Post by Strannik223 »

Siberian Cableman wrote:
$ telnet 192.168.15.203 8080
Trying 192.168.15.203...
Connected to 192.168.15.203.
Escape character is '^]'.
Connection closed by foreign host.

б) quick and dirty trick: "tcpdump -w - -s 1500 port 80 | strings"

В чем хитрость трюка, и что такое strings??
strings - print the strings of printable characters in files.


Ну telnet можно было сказать "GET /" и 2 раза Ентер нажать

"-w -" означает писать в файл stdout остальное надеюсь понятно
Далее идет pipe stdout tcpdump-a в strings. Он отбрасывает бинарные данные и выводит только то что ему кажется является стрингами. Удобно бывает сказать
strings /usr/sbin/tcpdump | more

Так, а в примере с telnet соединение сразу закрывается или по истечению timeout?

то есть
tcpdump port 8080
показывает работу на вашем ip а если добавить and port 8080 то ничего нет?

А вообще man strings :)
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

А если попробовать tcpflow?
Это не проще будет?
Дальше, все будет только хуже. Оптимист.

Return to “Вопросы и новости IT”