Як відстежувати вхідні запити http


31

Як я можу відстежувати вхідні HTTPзапити до порту 80? Я створив веб-хостинг на своїй локальній машині за допомогою DynDNSта Nginx. Мені хотілося знати, скільки запитів робиться на моєму сервері щодня.

В даний час я використовую цю команду:

netstat -an | grep 80

Відповіді:


41

Ви можете використовувати tcpdump.

# 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)'

Для вирішення питання tsharkдив.

https://serverfault.com/questions/84750/monitoring-http-traffic-using-tcpdump


Це так корисно. Чи є щось подібне для ощадливих повідомлень?
Дарт Егрегійний

2
Що з https?
FooBar

7

Я використовую tcpflowдля перевірки вхідних запитів у Aws екземплярах, можливо, є спосіб агрегувати запити щодня.

КРОК 1 - установка

# yum install --nogpgcheck http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.x86_64.rpm

КРОК 2 - відстежуйте запити GET / POST на порт 80

# tcpflow -p -c -i eth0 port 80 | grep -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*'

Довідково

https://github.com/simsong/tcpflow


Для Ubuntu це: sudo apt install tcpflow Також на Ubuntu "eth0" називається чимось на зразок "ens33". Ви можете скористатися командою ifconfig, щоб побачити ім'я адаптера Ethernet.
nivs1978

5

Чи увімкнено файли журналів для вашого сервера? Якщо у вас є, я рекомендую встановити AwStats і запустити з ним файли журналів, щоб отримати точну звітність.

Якщо ви хочете просто контролювати весь вхідний / вихідний трафік, ви можете використовувати WireShark.


4

Ви також можете вкласти файл журналу:

tail -f /path/to/access_log

Параметр -f змусить хвіст постійно оновлювати екран, оскільки нові записи записуються в журнал.


0

Виконати це

while true
do
echo -----`date '+%r'` -----:
netstat -ant | grep :8080 | awk '{print $6}' | sort | uniq -c | sort -n
echo httpd processes: [`ps aux | grep httpd | wc -l`]
echo .
sleep 2
done

Він буде контролювати трафік на 8080 порту кожні 2 секунди

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.