ไฟล์ drivers \ etc \ services ของ Windows มีไว้เพื่ออะไร


8

โดยปกติจะมีไฟล์ "services" ใน C: \ Windows \ System32 \ drivers \ etc โดยจะแสดงรายการบริการที่ใช้งานอยู่และพอร์ตที่จะใช้

อย่างไรก็ตามคำว่า "บริการ" หมายถึงอะไรที่นี่? ไม่ใช่ "บริการของ Windows" ซึ่งสามารถมองเห็นได้เมื่อคุณเรียกใช้ "services.msc" 2 รายการดังกล่าวไม่นับรวม

และเนื้อหาไฟล์ "บริการ" นี้อาจล้าสมัย - ไม่มีใครสามารถอัปเดตได้: โปรแกรมยังคงสามารถสื่อสารผ่านพอร์ตบางตัวได้โดยไม่ต้องอัปเดตไฟล์ "บริการ" หากพวกเขามีข้อตกลง; นอกจากนี้หากบางโปรแกรมไม่ได้ทำงานอยู่พอร์ตบางตัวจะไม่ถูกนำออก "ไฟล์บริการของ Windows" ก็ไม่ได้รับการอัพเดต

ไฟล์นี้มีไว้ทำอะไร?

ฉันสามารถหาเอกสารได้ที่ไหนบ้าง? อาจเป็นเพราะชื่อไฟล์ที่เป็นที่นิยมฉันได้ค้นหาบนอินเทอร์เน็ต แต่ลิงก์ส่วนใหญ่เกี่ยวกับ "Windows Services" ... ไม่ใช่ "Windows Services File" ...

แก้ไข:

อีกหนึ่งคำถามเนื่องจากไฟล์ "บริการ" อาจล้าสมัยมีวิธีแสดงรายการ "บริการ" ที่ใช้งานอยู่ทั้งหมดหรือไม่

คำตอบ:


6

ไฟล์นี้จะบอกบริการต่าง ๆ ที่เขียนโดย Microsoft ว่าพอร์ตใดที่จะใช้รวมถึงไฟล์ที่ต้องการใช้ Windows APIs และ / หรือไฟล์นั้นเพื่อเปลี่ยนชื่อบริการเป็นพอร์ต ชื่อบริการเหล่านี้กำหนดโดย IETF

นี่คือตัวอย่าง คำแนะนำในการเปลี่ยนพอร์ตเพื่อให้มีที่ว่างสำหรับเซิร์ฟเวอร์ SMTP อื่น

และนี่คือคำอธิบายเพิ่มเติมเกี่ยวกับชื่อบริการ:

servicename [ใน]

สตริงที่สิ้นสุดด้วยค่า NULL ที่มีชื่อบริการหรือพอร์ตปลายทางของโฮสต์ที่จะเชื่อมต่อสำหรับ IPv4 หรือ IPv6

ชื่อบริการเป็นชื่อแทนสตริงสำหรับหมายเลขพอร์ต ตัวอย่างเช่น“ http” เป็นนามแฝงสำหรับพอร์ต 80 ที่กำหนดโดย Internet Engineering Task Force (IETF) เป็นพอร์ตเริ่มต้นที่ใช้โดยเว็บเซิร์ฟเวอร์สำหรับโปรโตคอล HTTP ค่าที่เป็นไปได้สำหรับพารามิเตอร์ servicename เมื่อไม่ได้ระบุหมายเลขพอร์ตไว้ในไฟล์ต่อไปนี้: %WINDIR%\system32\drivers\etc\services

- MSDN - Winsock - ฟังก์ชัน WSAConnectByName


2
โดยเฉพาะไฟล์บริการจะสำรองข้อมูล [getservbyname](http://msdn.microsoft.com/en-us/library/windows/desktop/ms738538(v=vs.85).aspx) API ซึ่งแปลชื่อบริการเป็นหมายเลขซ็อกเก็ต
Richard

@ Richard: บางที แต่มันไม่ได้พูดถึง services.
Tom Wijsman

นี่เป็นแนวคิดของซ็อกเก็ต Windows หรือไม่ ขออภัยฉันไม่คุ้นเคยที่นี่ ... Windows Socket เป็นโปรโตคอลที่ต่ำกว่า HTTP, TCP / IP, FTP ดังนั้นคำจำกัดความที่ทำในระดับ Windows Socket สามารถควบคุมพฤติกรรมบน HTTP, TCP / IP หรือระดับ FTP ได้หรือไม่
athos

@athos: ไม่มันไม่มีโปรโตคอล บริการ Windows เพียงแปลชื่อบริการเป็นครั้งแรก (เช่น http ) ในพอร์ตบริการ (เช่น 80 สำหรับ http ) จากนั้นระบุพอร์ตบริการนั้นให้กับโปรโตคอลที่เกี่ยวข้อง (TCP / IP)
Tom Wijsman

4
Sidenote: การตั้งชื่อการใช้งานและรูปแบบของไฟล์นี้มาจาก Unix ที่เป็นไฟล์ /etc/services. Microsoft ยอมรับสิ่งนี้เมื่อพวกเขาเริ่มเปลี่ยนโปรโตคอลเครือข่ายที่เป็นกรรมสิทธิ์ Netbeui ด้วยโปรโตคอล TCP / IP แบบโอเพ่นซอร์สที่มีความสำคัญมากกว่า ดู kuro5hin.org/story/2001/6/19/05641/7357
RedGrittyBrick
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.