Как написать программу, которая имитирует Fiddler с помощью tcpdump или с нуля?

1

Когда Fiddler не находится в Mac OS X или Ubuntu, и если мы не устанавливаем/не используем Wireshark или другие более мощные инструменты, как использовать tcpdump, чтобы

1) Он может распечатывать

GET /foo/bar HTTP/1.1
    [request content in RAW text]
    [response content in RAW text]
POST /foo/... HTTP/1.1

это должно быть выполнено tcpdump или с помощью tcpdump в короткой оболочке script или Ruby/Python/Perl script.

2) На самом деле, он может быть аккуратным, если script может выводить HTML, с

GET /foo/bar HTTP/1.1
POST /foo/... HTTP/1.1

на странице, для отображения любого браузера, а затем, нажав на любую из этих строк, он будет расширяться, чтобы показать содержимое RAW, подобное (1) выше. Нажмите еще раз, и он скроет детали. Расширение UI можно выполнить с помощью jQuery или любой JS-библиотеки. script может быть коротким... возможно менее 20 строк? Кто-нибудь знает, как это сделать либо для (1), либо (2)?

  • 0
    Почему вы хотите использовать tcpdump? Похоже, вы хотите Wget
Теги:
tcpdump

1 ответ

1
Лучший ответ

Вот два фильтра tcpdump для HTTP GET и HTTP POST:

# tcpdump filter for HTTP GET 
sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

# tcpdump filter for HTTP POST 
sudo tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню