ตรวจสอบจำนวนการเชื่อมต่อที่ใช้งานบนพอร์ต 80 หรือไม่


27

ฉันมีเว็บเซิร์ฟเวอร์ฉันต้องตรวจสอบจำนวนการเชื่อมต่อในเซิร์ฟเวอร์ของฉันตามเวลาที่กำหนด

ฉันใช้ดังต่อไปนี้

netstat -anp |grep 80 |wc -l

สิ่งนี้กลับมาพร้อมกับ

2542

แต่จากการวิเคราะห์ google ของฉันฉันรู้ว่าผู้ใช้พร้อมกันไม่เกิน 100

is this correct ? 
if not how to i get the active number of connections ? 
is this sign of a victim of DOS attack how do i know that ?

ด้วยคุณสามารถกรองพอร์ตและระบุบิตเร็วขึ้น:ss ss -nt dport == :80 and state connected
eckes

จำนวนการเชื่อมต่อไม่ใช่จำนวนผู้ใช้ เบราว์เซอร์ผู้ใช้แต่ละคนสามารถเปิดการเชื่อมต่อหลายรายการในเวลาเดียวกัน ในทางกลับกันในขณะที่ผู้ใช้หลายคนที่ใช้พร็อกซีเดียวกันนั้นหาได้ยากกว่าจะสามารถปรากฏได้ผ่านการเชื่อมต่อเดียวเท่านั้น
Patrick Mevzek

คำตอบ:


50

ลองนับการเชื่อมต่อ ESTABLISHED:

netstat -anp | grep :80 | grep ESTABLISHED | wc -l

และระวังอย่าใช้โคลอนในคำสั่ง grep พอร์ตของคุณ เพียงแค่มองหา 80 สามารถนำไปสู่ผลลัพธ์ที่ผิดพลาดจาก pids และพอร์ตอื่น ๆ ที่เกิดขึ้นที่มีอักขระ 80 ในผลลัพธ์ของพวกเขา


5
grep -w 808093แก้ว่าสิ่งที่ปัญหาและขจัดชอบ
Michael Hampton

1
ใช่คุณถูกต้อง: 80 อาจจะแนะนำผลบวกปลอมเช่นกัน
d34dh0r53

@MichaelHampton ทั้ง grep -w 80 และ: 80 จะนับการเชื่อมต่อ http ขาออกด้วยถ้ามี netstat -ntp | awk '{พิมพ์ $ 4}' | grep -w 80 และใช่ฉันสนใจมากเกินไปเกี่ยวกับสีของ bikeshed :) :)

อันนี้ดีกว่า lil .. netstat -an | grep -w 80 | grep -i จัดตั้งขึ้น | awk {'พิมพ์ $ 5'} | ตัด -d: -f1 | จัดเรียง | uniq -c | sort -n
user169015

2

รับ@ d34dh0r53คำตอบหนึ่งขั้นตอน "เพิ่มเติม" (ไปยังคำตอบด้วยมุมมอง "ที่กว้างขึ้น") คุณยังสามารถตรวจสอบการเชื่อมต่อทั้งหมดที่เรียงลำดับตามสถานะของพวกเขาด้วยต่อไปนี้:

netstat -ant | grep :<port_num> | awk '{print $6}' | sort | uniq -c | sort -n

ตัวอย่างเช่น:

netstat -ant | grep :8000 | awk '{print $6}' | sort | uniq -c | sort -n

ผลลัพธ์ที่เป็นไปได้อาจเป็น:

1 CLOSING
1 established
1 FIN_WAIT2
1 Foreign
2 CLOSE_WAIT
6 FIN_WAIT1
7 LAST_ACK
7 SYN_RECV
37 ESTABLISHED
44 LISTEN
297 TIME_WAIT

หวังว่ามันจะช่วยและโปรดยกระดับรายละเอียดเพิ่มเติมและ / หรือความคิดเห็นที่คุณมีข้างต้น

ไชโย

ผู้ชาย.


1

คุณสามารถใส่ที่อยู่ IP ของคุณไว้ที่นั่นได้แทนที่จะกังวลเกี่ยวกับการรวมสตริง greps, seds และ awks เข้าด้วยกัน

netstat -anp | grep -c $(hostname -i):80

การใช้$(hostname -i)จะอนุญาตให้ใช้คำสั่งนี้บนกล่องใด ๆ , IP แบบคงที่ / แบบไดนามิกและอื่น ๆ


0
ss -tn src :80 or src :443

สิ่งนี้จะแสดงการเชื่อมต่อทั้งหมดไปยังพอร์ตท้องถิ่น 80 หรือ 443 (เพิ่ม / แก้ไขพอร์ต (ถ้ามี))

ข้อสงวนสิทธิ์: ฉันรู้ว่านี่เป็นคำถามเก่า แต่ก็ยังเป็นผลลัพธ์อันดับต้น ๆ ของ Google ดังนั้นฉันคิดว่าสมควรได้รับคำตอบในการใช้ประโยชน์ระบบสาธารณูปโภคที่ทันสมัย

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