着信HTTP
ポート要求を監視する方法は80
?DynDNS
私のローカルコンピュータでWebホスティングを有効にして設定しましたNginx
。私のサーバーが1日に受信する要求の数を知りたいです。
現在私は次のコマンドを使用しています。
netstat -an | grep 80
答え1
あなたはそれを使用することができます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
私は着信要求を確認するためにawsインスタンスを使用してきましたtcpflow
。たぶん毎日リクエストを集計する方法があるかもしれません。
ステップ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: .*'
引用する
答え3
サーバーにログファイルがオンになっていますか?これを行うには、AwStatsをインストールし、それを使用してログファイルを実行して正確なレポートを取得することをお勧めします。
着信および発信するすべてのトラフィックを監視したい場合は、WireSharkを使用できます。
答え4
これを実行
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のトラフィックを監視します。