ปัญหา:
ฉันตัดสินใจใช้ลินุกซ์บนฮาร์ดแวร์ และสิ่งนี้เกี่ยวข้องกับการนำเกมบางเกมมาแทนที่ฉันกำลังพยายามใช้ iptables โดยเฉพาะ เนื่องจากได้รับการแนะนำให้ฉันใช้เป็นไฟร์วอลล์และเพื่อให้เข้าใจแนวคิดเครือข่ายได้ดีขึ้น ฉันใช้ Ubuntu 18.04.5 Bionic Beaver LTS กับเซสชันเดสก์ท็อป XFCE4 แบบกำหนดเองที่จัดการโดย lightdm และ openbox
ฉันกำลังตรวจสอบระบบของฉันเพื่อหาพอร์ตเปิดโดยใช้ไฟล์ sudo netstat -tulpn | ฟัง
กระบวนการ.
ผลลัพธ์:
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 6741/systemd-resolv
tcp 0 0 0.0.0.0:27036 0.0.0.0:* ฟัง 28122/steam
tcp 0 0 127.0.0.1:57343 0.0.0.0:* ฟัง 28122/steam
tcp 0 0 127.0.0.1:27060 0.0.0.0:* ฟัง 28122/steam
นี่จะเป็นการใช้พอร์ตมาตรฐานสำหรับการเล่น Star Wars: Knights of the Old Republic 2 บน Steam ปัญหาอยู่ที่เกมไม่ทำงาน / และไม่ได้ขอให้เปิดโดยระบบใด ๆ ที่ฉันตั้งค่าด้วยตนเอง (เท่าที่ฉันทราบ)
ตรวจสอบ:
ตามความเข้าใจของฉัน รายการที่ 1 คือตัวแก้ไข DNS system-d ที่รับฟังคำขอที่เกี่ยวข้องกับ DNS บนพอร์ต 53 และแน่นอนว่าการผสานรวมสำหรับสิ่งนี้เข้ากับการตั้งค่า iptables มาตรฐานนั้นค่อนข้างตรงไปตรงมา ฉันต้องการเพิ่มว่าโดยทั่วไปเมื่อรันคำสั่ง รายการ 1 สำหรับ PID 6741/systemd-แก้ไข
เป็นรายการเดียวที่แสดงในรายการนี้
อย่างไรก็ตาม พอร์ตเปิดอีก 3 พอร์ตที่แสดงไว้สำหรับ PID 28122/ไอน้ำ
.
และมีอยู่ครั้งหนึ่ง ฉันพบอุปกรณ์ของฉันในการกำหนดค่าที่แสดงด้านบน จากนั้นฉันพยายามประเมินว่าเหตุใดจึงเป็นกรณีนี้ เพื่อประเมินว่า IPtables ของฉันจำเป็นต้องเปลี่ยนเพื่อให้การดำเนินการนี้เกิดขึ้นหรือไม่ หากจำเป็นต้องมีการเชื่อมต่อเครือข่ายที่ใช้งานอยู่ ซึ่งฉันคิดว่าอาจทำโดยใช้ TCP ขึ้นอยู่กับสิ่งที่เกิดขึ้น
ฉันใช้โปรแกรม LxTask เพื่อติดตามคำสั่งที่ดำเนินการโดย PID นี้
สำหรับทุก ๆ พอร์ตที่ระบุไว้ คำสั่งที่ถูกดำเนินการคือ สตีมสตีม://rungameid/208580
. นี่จะเป็นคำสั่งที่ใช้ในการเปิดเกมเดียวในระบบ ซึ่งเป็นสำเนาของ 'Star Wars: Knights of the Old Republic II' ที่ไม่มีการดัดแปลงและสะอาด
ทำไมกระบวนการใด ๆ ที่จะเปิดตัวเกมนี้ แต่ไม่เปิดเกมนี้ อยู่เหนือฉัน ฉันไม่เคยพยายามเปิดเกมในลักษณะใด ๆ เลย และมันก็ปิดไปนานกว่าหนึ่งชั่วโมงหรือมากกว่านั้น
ขั้นตอนสุดท้ายที่ฉันทำคือเริ่มการสแกน nmap อย่างรวดเร็วที่พอร์ต 27036, 27060, 57343 เพื่อยืนยันจาก localhost มันทำงานบน localhost ฉันใช้ -sV -sC
แฟล็กเพื่อพยายามดึงข้อมูลบริการจากสแต็ก TCP/IP บนพอร์ต
คำสั่งที่ฉันใช้สำหรับสิ่งนี้คือ: nmap -p 27036,27060,57343 -sV -sC 127.0.0.1
ผลลัพธ์:
27036/tcp เปิด ssl/steam Valve Steam In-Home Streaming service
27060/tcp เปิดที่ไม่รู้จัก
57343/tcp เปิดที่ไม่รู้จัก
ต่อไปนี้ฉันจะทำการสแกนเดียวกันซ้ำจากเครือข่ายภายนอกเพื่อดูว่ามีพอร์ตอยู่นอก localhost หรือไม่ แต่ฉันไม่พบการเชื่อมต่อที่เปิดอยู่บนพอร์ตที่ระบุ เมื่อฉันกลับไปที่เรื่อง Ubuntu PC ฉันตรวจสอบอีกครั้งเพื่อดูว่าพอร์ตยังคงเปิดอยู่โดยใช้พอร์ตเดิมหรือไม่ sudo netstat -tulpn | ฟัง
กระบวนการ.
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 6741/systemd-resolv
ดูเหมือนว่าตัวแก้ไข DNS เป็นพอร์ตเดียวที่เปิดอยู่ในรายการนี้
ฉันสแกน nmap localhost ซ้ำจากเครื่องของฉันบนพอร์ตที่ระบุก่อนหน้านี้ คำสั่งที่ใช้: nmap -p 27036,27060,57343 -sV -sC 127.0.0.1
อีกครั้ง. ผลลัพธ์:
เวอร์ชันบริการของรัฐพอร์ต
27036/tcp ปิดที่ไม่รู้จัก
27060/tcp ปิดไม่ทราบ
57343/tcp ปิดที่ไม่รู้จัก
ดูเหมือนว่าพอร์ตจะปิดและ PID 28122/ไอน้ำ
ไม่ทำงานบนเครื่องของฉันอีกต่อไป
คำถาม:
ใครช่วยอธิบายว่าฉันเพิ่งเห็นกระบวนการนี้ด้วยข้อมูลปัจจุบันได้อย่างไร
ที่สำคัญ คุณสามารถให้บริบท (หากเกี่ยวข้อง) แก่ฉันเกี่ยวกับวิธีที่ Steam / กระบวนการทั่วไปที่มีพฤติกรรมแปลก ๆ เช่นสิ่งนี้ควรได้รับการจัดการอย่างเหมาะสมในบริบทของกฎ iptables เนื่องจากนี่คือเป้าหมายสุดท้ายของฉันคือการตั้งค่า
ถ้าเป็นไปได้ ฉันต้องการตัวอย่างที่เกี่ยวข้องกับกรณีการใช้งานนี้เกี่ยวกับวิธีปฏิเสธสิทธิ์ในการเปิดพอร์ตเหล่านี้ เว้นแต่ฉันจะเป็นคนเปิดเกมด้วยตัวเอง
หมายเหตุที่อาจเกี่ยวข้อง:
แพ็คเกจ Steam ของฉันคือ: steam/bionic ตอนนี้ 1:1.0.0.54+repack-5ubuntu1 i386 [ติดตั้งแล้ว]
สร้าง: 8 มิ.ย. 2021 @ 22:23:41น
API ของ Steam: v020
เวอร์ชันแพ็คเกจ Steam: 1623193086
ฉันมีไคลเอนต์ Steam ติดตั้งกับ 1 เกม Star Wars Knights of the Old Republic 2
เกมไม่ได้ทำการดัดแปลงและเป็นเกมที่ติดตั้งใหม่
ไม่ต้องการการเชื่อมต่อเครือข่าย
ขอบคุณที่สละเวลา.