Vấn đề:
Tôi quyết định chạy linux trên phần cứng và điều này liên quan đến việc mang một số trò chơi qua.Đặc biệt, tôi cũng đang cố gắng sử dụng iptables vì nó đã được khuyến nghị cho tôi sử dụng làm tường lửa và để hiểu rõ hơn về các khái niệm mạng. Tôi đang sử dụng Ubuntu 18.04.5 Bionic Beaver LTS với phiên máy tính để bàn XFCE4 tùy chỉnh được xử lý bởi lightdm và openbox.
Tôi đang kiểm tra hệ thống của mình để tìm các cổng mở bằng cách sử dụng sudo netstat -tulpn | grep NGHE
phương pháp.
Đầu ra:
tcp 0 0 127.0.0.53:53 0.0.0.0:* NGHE 6741/systemd-resolv .
tcp 0 0 0.0.0.0:27036 0.0.0.0:* NGHE 28122/steam
tcp 0 0 127.0.0.1:57343 0.0.0.0:* NGHE 28122/steam
tcp 0 0 127.0.0.1:27060 0.0.0.0:* NGHE 28122/steam
Đây sẽ là cách sử dụng cổng tiêu chuẩn để chơi Star Wars: Knights of the Old Republic 2 trên steam. Vấn đề là ở điểm trò chơi không chạy/cũng như không được yêu cầu khởi chạy bởi bất kỳ hệ thống nào mà tôi đã thiết lập thủ công (theo như tôi biết.)
Cuộc điều tra:
Theo hiểu biết của tôi, mục 1 là trình phân giải DNS system-d, lắng nghe các yêu cầu liên quan đến DNS trên cổng 53 và tất nhiên, việc tích hợp mục này đúng cách vào thiết lập iptables tiêu chuẩn có vẻ khá đơn giản. Tôi muốn nói thêm rằng, nói chung, khi lệnh được chạy, Mục 1 cho PID 6741/systemd-resolv
là mục duy nhất được hiển thị trong danh sách này.
Tuy nhiên, 3 cổng mở khác được liệt kê là dành cho PID 28122/hơi nước
.
Và trong một lần, tôi bắt gặp thiết bị của mình ở cấu hình như hình trên. Sau đó, tôi đã cố gắng đánh giá lý do tại sao lại xảy ra trường hợp này, để đánh giá xem IPtables của tôi có cần thay đổi để cho phép thao tác này xảy ra hay không nếu nó yêu cầu kết nối mạng đang hoạt động, như tôi cho rằng nó có thể thực hiện được, sử dụng TCP, tùy thuộc vào những gì đang diễn ra.
Tôi đã sử dụng chương trình LxTask của mình để theo dõi các lệnh chính xác đang được thực thi bởi PID này.
Đối với mỗi cổng được liệt kê, lệnh đang được thực thi là hơi nước: //rungameid/208580
. Đây sẽ là lệnh được sử dụng để khởi chạy trò chơi duy nhất trên hệ thống, một bản sao rõ ràng, chưa được chỉnh sửa của 'Star Wars: Knights of the Old Republic II'
Tại sao bất kỳ quy trình nào, sẽ khởi chạy trò chơi này nhưng không khởi chạy trò chơi này, nằm ngoài tầm kiểm soát của tôi. Tôi chưa bao giờ thử khởi chạy trò chơi theo bất kỳ cách nào và trò chơi đã bị đóng hơn một giờ hoặc hơn.
Bước cuối cùng tôi thực hiện là nhanh chóng thực hiện quét nmap tại cổng 27036, 27060, 57343, để xác nhận từ localhost, nó đang chạy trên localhost. tôi đã sử dụng -sV -sC
để cố trích xuất thông tin dịch vụ từ ngăn xếp TCP/IP trên các cổng.
Lệnh tôi đã sử dụng cho việc này là: nmap -p 27036,27060,57343 -sV -sC 127.0.0.1
Đầu ra:
27036/tcp mở ssl/steam Valve Dịch vụ phát trực tuyến tại nhà bằng hơi nước
27060/tcp mở không xác định
57343/tcp mở không xác định
Theo cách này, tôi đã lặp lại quá trình quét tương tự từ mạng bên ngoài để xem liệu các cổng có khả dụng bên ngoài máy chủ cục bộ hay không, nhưng tôi không thể tìm thấy kết nối mở trên các cổng được chỉ định. Khi tôi quay lại chủ đề Ubuntu PC, tôi đã kiểm tra lại xem liệu các cổng có còn mở bằng cách sử dụng như cũ không sudo netstat -tulpn | grep NGHE
phương pháp.
tcp 0 0 127.0.0.53:53 0.0.0.0:* NGHE 6741/systemd-resolv .
Có vẻ như trình phân giải DNS là cổng duy nhất được mở trong danh sách này.
Tôi đã lặp lại quá trình quét nmap localhost từ máy của mình trên các cổng đã xác định trước đó. Lệnh đã sử dụng: nmap -p 27036,27060,57343 -sV -sC 127.0.0.1
lần nữa. Đầu ra:
PHIÊN BẢN DỊCH VỤ NHÀ NƯỚC CẢNG
27036/tcp đã đóng không xác định
27060/tcp đã đóng không xác định
57343/tcp đã đóng không xác định
Có vẻ như các cổng đã bị đóng và PID 28122/hơi nước
không còn chạy trên máy của tôi nữa.
Câu hỏi:
Ai có thể giải thích quá trình này mà tôi vừa chứng kiến với thông tin hiện tại là gì không?
Điều quan trọng là bạn có thể cung cấp cho tôi ngữ cảnh (nếu có liên quan), về cách các quy trình chung/hơi nước hoạt động kỳ lạ như quy trình này nên được xử lý đúng cách trong ngữ cảnh của các quy tắc iptables, vì đây là mục tiêu cuối cùng của tôi là thiết lập.
Nếu có thể, tôi muốn có một ví dụ liên quan đến trường hợp sử dụng này về cách từ chối quyền mở các cổng này, trừ khi tôi đích thân khởi chạy trò chơi.
Ghi chú có thể có liên quan:
Gói hơi của tôi là: steam/bionic, giờ là 1:1.0.0.54+repack-5ubuntu1 i386 [đã cài đặt]
Được xây dựng: Ngày 8 tháng 6 năm 2021 @ 10:23:41PM
API hơi nước: v020
Phiên bản gói Steam: 1623193086
Tôi đã cài đặt ứng dụng khách hơi nước với 1 trò chơi, Star Wars Knights of the Old Republic 2.
Trò chơi không được sửa đổi và là bản cài đặt mới.
Nó không yêu cầu kết nối mạng.
Cảm ơn vì đã dành thời gian cho tôi.