Назад | Перейти на главную страницу

Можно ли записать переданный файл на мой сервер Apache с помощью tcpdump

У меня установлено веб-приложение на сервере apache (порт 80, без SSL). Задача этого приложения - собирать некоторую информацию из файлов клиентов. Моя цель - проверить, отправляют ли мои клиенты правильные файлы. Итак, я хочу захватить файлы, переданные в мой Apache, а затем проверить правильность формата данных.

Я запускаю tcpdump так: tcpdump -s0 -i eth0 'port 80' -vv но результат не то, что я хочу.

Возможно ли это, если tcpdump работает на том же сервере?

Я думаю ты хочешь netcat (NC), tcpdump предназначен для отладки на уровне пакетов, NC предназначен для перенаправления сетевого трафика.

Это нетривиально (из-за проблем с безопасностью), но шаги

  1. Переместите свой веб-сервер на другой порт
  2. Попросите NC прослушивать порт 80
  3. сбросить входящий трафик на порт 80 в журнал И перенаправить его на новый порт, который прослушивает ваш веб-сервер

На этой странице есть более подробная запись как это сделать.

Наконец, есть 2 версии netcat. Убедитесь, что у вас есть тот, который позволяет вам нарушать практически все известные правила безопасности, и имейте в виду, что только root может прослушивать порты ниже 1024.

Изменить: tcpdump жестяная банка делайте то, что вы ищете, но это не будет так прямолинейно - это дает вам фактические пакеты, вы звучите так, как будто вам просто нужен текст HTTP. Чтобы сделать это с помощью tcpdump, вам нужно сбросить его, а затем открыть файл дампа в чем-то вроде wirehark.

Wireshark удобнее для такой задачи. Вы можете запустить cli версию, tshark для захвата сетевого трафика в файл, затем скопируйте его на свой компьютер, откройте с помощью GUI wirehark, найдите нужный запрос и экспортируйте с помощью export objects.

Wireshark также поддерживает tcpdump файлы, сделанные с -w флаг