เนื่องจากเซิร์ฟเวอร์ของคุณเชื่อมต่อกับ IP ที่แน่นอนฉันคิดว่ามันจะเป็นพอร์ตที่คุณมีความรู้ด้วย?
ไม่ว่าในกรณีใดnetstat
หรือss
ถูกออกแบบมาเพื่อทำสิ่งที่คุณต้องการ คุณสามารถทำเช่นเดียวกันกับคำสั่งใด:
netstat -n -t | awk '{print $5}' | grep A.B.C.D:n
ss -n -t | awk '{print $5}' | grep A.B.C.D:n
โดยที่A.B.C.D
แทนที่อยู่ IPv4 และn
แสดงหมายเลขพอร์ตที่เซิร์ฟเวอร์ของคุณเชื่อมต่ออยู่ที่ด้านระยะไกล ตัวอย่างเช่น:
ss -n -t | awk '{print $5}' | grep 10.137.54.22:3389
หรือหากคุณต้องการทราบว่ามีการเชื่อมต่อ:
ss -n -t | awk '{print $5}' | grep -q 10.137.54.22:3389 && echo "CONNECTION MADE"
หากคุณไม่ทราบหมายเลขพอร์ตที่คุณพยายามเชื่อมต่องานจะยากขึ้นเนื่องจาก TCP จะเปิดพอร์ตทั้งสองด้านของการสนทนาสำหรับข้อมูลและแพ็กเก็ต ACK ในกรณีนี้คุณสามารถ grep สำหรับที่อยู่ IP เพื่อแสดงว่ามีการเชื่อมต่อใด ๆ ไม่ว่าจะเป็นไปหรือมาจาก
สุดท้ายคุณสามารถวนสิ่งนี้เข้ากับเนื้อหาหัวใจเพื่อใช้เป็นเครื่องมือตรวจสอบของคุณ:
while true; do
ss -n -t | awk '{print $5}' | grep -q A.B.C.D:n && \
echo "CONNECTION MADE" && \
exit 0
sleep 1
done