Comment surveiller les requêtes http entrantes


31

Comment puis-je surveiller les HTTPdemandes entrantes de portage 80? J'ai configuré l'hébergement Web sur ma machine locale à l'aide de DynDNSet Nginx. Je voulais savoir combien de demandes sont effectuées sur mon serveur chaque jour.

Actuellement, j'utilise cette commande:

netstat -an | grep 80

Réponses:


42

Vous pouvez utiliser 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)'

Pour une solution utilisant tsharkvoir:

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


C'est tellement utile. Y a-t-il quelque chose de similaire pour les messages d'épargne?
Dark Egregious

2
Et https?
FooBar

7

J'ai utilisé tcpflowpour vérifier les demandes entrantes dans les instances aws, il y a peut-être un moyen d'agréger les demandes tous les jours.

ÉTAPE 1 - installation

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

ÉTAPE 2 - suivre les demandes GET / POST au port 80

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

Référence

https://github.com/simsong/tcpflow


Pour Ubuntu, c'est: sudo apt install tcpflow Sur Ubuntu également, "eth0" est nommé quelque chose comme "ens33". Vous pouvez utiliser la commande ifconfig pour voir le nom de votre adaptateur Ethernet.
nivs1978

5

Les fichiers journaux sont-ils activés pour votre serveur? Si vous le faites, je vous recommande d'installer AwStats et d'exécuter vos fichiers journaux avec lui pour obtenir des rapports précis.

Si vous souhaitez simplement surveiller tout le trafic entrant / sortant, vous pouvez utiliser WireShark.


4

Vous pouvez également personnaliser le fichier journal:

tail -f /path/to/access_log

Le paramètre -f entraînera la mise à jour continue de l'écran à mesure que de nouvelles entrées sont écrites dans le journal.


0

Lance ça

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

Il surveillera le trafic sur le port 8080 toutes les 2 secondes

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.