วิธีตรวจสอบคำขอ 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


นั่นเป็นประโยชน์มาก มีสิ่งที่คล้ายกันสำหรับข้อความที่เจริญเติบโตอย่างรวดเร็วหรือไม่?
Darth Egregious

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 เพื่อดูชื่อของอะแดปเตอร์อีเธอร์เน็ตของคุณ
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 วินาที

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.