Hadyai Internet R&D LAB

ผลงานของ Hadyai Internet R&D LAB => คุยกับทีมวิจัย => ข้อความที่เริ่มโดย: admin ที่ 13 กรกฎาคม 2008, 10:56:44

หัวข้อ: ตัวอย่างการหา IP/PORT สำหรับเกมส์ใหม่
เริ่มหัวข้อโดย: admin ที่ 13 กรกฎาคม 2008, 10:56:44
ยกตัวอย่างเกมส์ RayCity ที่กำลังนิยมกันอยู่

เราก็สามารถเช็ค IP และ Port ของเกมส์ เพื่อทำการแยกออกเส้น Games ไม่ให้รวมกับเส้น Net เป็นต้น

โดยให้เครื่องลูกเครื่องใดเครื่องนึงเปิดเกมส์นี้ขึ้นมา และทำการเล่นเกมส์ตามปกติ

แล้วใช้เครื่องลูกอีกเครื่องนึง ทำการ Remote เข้า Server แล้วใช้คำสั่ง netstat-nat ทำการเช็ค

เช่น เครื่องที่ 14 หมายเลข IP 192.168.0.114 กำลังเล่นเกมส์ RayCity อยู่

เมื่อ Remote เข้า Server แล้ว ก็ทำการเช็ค โดยใช้คำสั่ง  watch -n 1 netstat-nat -n -s 192.168.0.114

จะได้ผลออกมาว่า

(http://www.hadyaiinternet.com/images/raycitynat.jpg)

จากการตรวจเช็คจากหลาย ๆ เครื่องเราทราบว่าเกมส์ RayCity ใช้ port และ ip อยู่ระหว่างกลุ่มไหน

โดยการตรวจสอบแล้วพบว่า RayCity ใช้

tcp dest ip 61.19.242.0/24 61.19.250.0/24 port 2170 - 2199 อะครับ
udp ยังไม่มีกฎแน่นอนตายตัว ไว้หาเจอแล้วจะแจ้งอีกที

ดังนั้นในการเพิ่มลงไปใน Ubuntu MultiWAN Server จะต้องเพิ่มเข้าไปในไฟล์  /etc/init.d/tableroute.sh

โดยเพิ่มในส่วนของ MARK RULES

# RayCity
iptables -t mangle -A MARK_RULES -d 61.19.242.0/24 -p tcp --dport 2170:2199 -j GAMES
iptables -t mangle -A MARK_RULES -d 61.19.250.0/24 -p tcp --dport 2170:2199 -j GAMES

เป็นต้น

หรือจะทำการ MARK แค่กลุ่ม IP แล้วเปิดไว้ทุก Port ก็ได้เช่นกัน

# RayCity
iptables -t mangle -A MARK_RULES -d 61.19.242.0/24 -j GAMES
iptables -t mangle -A MARK_RULES -d 61.19.250.0/24 -j GAMES

ซึ่งแบบที่สองนี้ แนะนำสำหรับผู้ที่เข้าใจหลักการของ iptables แล้ว

เมื่อทำการเพิ่มเข้าไปเสร็จเรียบร้อยแล้ว ให้ทำการรัน tableroute.sh ใหม่ เพื่อปรับให้ Rules ที่เพิ่มเข้าไปทำงาน

โดยใช้คำสั่ง   /etc/init.d/tableroute.sh

ก็เป็นอันเรียบร้อยครับ
หัวข้อ: Re: ตัวอย่างการหา IP/PORT สำหรับเกมส์ใหม่
เริ่มหัวข้อโดย: modtanoii ที่ 13 กรกฎาคม 2008, 15:57:21
แจ่มเลยท่าน เข้ามาที่นี่ได้ความรู้เยอะจิงๆครับ