6

Существует отличная программа для Windows (URL Snooper: http://www.donationcoder.com/Software/Mouser/urlsnooper/index.html), которая позволяет просматривать все URL-адреса, запрашиваемые на компьютере.

Существует ли какая-либо такая программа в Linux (предпочтительно из командной строки)

4 ответа4

11

Похоже, что URL Snooper применяется не только к URL-адресам, запрашиваемым на компьютере, но и к URL-адресам, скрытым в источнике HTML какой-либо страницы, которые еще не обязательно запрашиваются. Для последнего см. Также « Как загрузить список файлов с файлового сервера?"здесь, в Super User. Или в Firefox см. Меню Инструменты »Информация о странице» Мультимедиа или используйте надстройки, такие как Video DownloadHelper или UnPlug. Следующее относится к просмотру всех URL, которые фактически запрашиваются.

Командная строка ngrep может сделать это, но дает гораздо больше подробностей, чем вы, вероятно, хотели бы.

Как: он не просто покажет вам URL, введенный в адресную строку браузера, но и весь HTTP-запрос. (Итак: IP-адрес, разрешенный браузером до фактического выполнения запроса, а затем HTTP-запрос, который браузер отправляет на этот IP-адрес.) И: это также покажет это для каждого изображения и т.д., Использованного на получающейся странице.

Вам может понадобиться установить ngrep , как при установке Ubuntu по умолчанию:

sudo apt-get install ngrep

Чтобы захватить все запросы HTTP GET к порту 80:

sudo ngrep -W byline -qilw 'get' tcp dst port 80

Тем не менее, это покажет вам весь запрос. (Попробуйте сами, если вы супер пользователь!) Чтобы ограничить этот вывод еще несколькими строками -> , get или host:

sudo ngrep -W byline -qilw 'get' tcp dst port 80 \
  | grep -i " -> \|get\|host"

Или, чтобы захватить все запросы к порту 80, но игнорировать те, у которых установлен заголовок Referer (как установлено при запросе встроенных изображений и т.д., Но также установлен при нажатии на ссылку на веб-странице, таким образом, отображаются только запросы, которые введены в местоположение браузера панель, либо открываются в новом окне, либо из закладки или электронной почты):

sudo ngrep -W byline -qilwv 'referer' tcp dst port 80 \
  | grep -i " -> \|get\|host"

Также инструменты анализатора типа Wireshark имеют параметры командной строки. Кроме того, tcpdump установлен в большинстве дистрибутивов Linux и является гораздо более простым:

sudo tcpdump -Alfq -s 1024 \
  'tcp dst port 80 and ip[2:2] > 40 and tcp[tcpflags] & tcp-push != 0' \
  | grep -i " > \|get\|host"
4

Я также могу порекомендовать url-sniff от Pawel Pawilcz. Это легкий Perl-скрипт, который прекрасно ngrep . Он также поддерживает цветной вывод. Здесь вы найдете скриншот. Это дает вам простой интерфейс для прослушивания всех запрошенных URL-адресов.

1

Вы можете использовать HTTP-прокси, такой как Privoxy, но вам придется настроить браузер для его использования - он не отслеживает сетевой трафик. Он создает журнал URL-адресов, которые вы можете просмотреть в текстовом редакторе.

0
  1. Запустите прокси, который регистрирует запросы в соответствии с предложением navilon. Вам не нужно ничего настраивать на стороне клиента, если вы выбираете прозрачный прокси.
  2. Запустите сниффер на воротах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .