着信HTTPリクエストを監視する方法


31

HTTPポートへの着信要求を監視するにはどうすればよい80ですか?私は私のローカルマシンが使用してのWebホスティングを設定しているDynDNSNginx私のサーバーで毎日何件のリクエストが行われているのか知りたいと思いました。

現在、私はこのコマンドを使用しています:

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


とても助かります。rif約メッセージにも同様のものがありますか?
ダースエグレジャス

2
httpsはどうですか?
FooBar

7

私はtcpflowawsインスタンスで受信リクエストをチェックするために使用してきましたが、リクエストを日単位で集約する方法があるかもしれません。

ステップ1-インストール

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

ステップ2-ポート80でGET / POST要求を追跡する

# 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コマンドを使用して、イーサネットアダプターの名前を確認できます。
nivs1978

5

サーバーでログファイルが有効になっていますか?その場合、AwStatsをインストールし、ログファイルを実行して、正確なレポートを取得することをお勧めします。

すべての着信/発信トラフィックを監視する場合は、WireSharkを使用できます。


4

ログファイルを末尾に置くこともできます。

tail -f /path/to/access_log

-fパラメーターを指定すると、新しいエントリがログに書き込まれるときにtailが画面を継続的に更新します。


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

2秒ごとに8080ポートのトラフィックを監視します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.