Untuk apa file layanan driver Windows \ etc \?

8

Biasanya ada file "layanan" di C: \ Windows \ System32 \ drivers \ etc, ia mencantumkan layanan yang berjalan dan port yang akan digunakan.

Namun apa arti kata "layanan" di sini? Ini bukan "Layanan Windows", yang bisa dilihat ketika Anda menjalankan "services.msc". 2 daftar seperti itu tidak cocok.

Dan, konten file "layanan" ini dapat kedaluwarsa - tidak ada yang memperbaruinya: program masih dapat berkomunikasi melalui beberapa port tanpa memperbarui file "layanan", jika mereka memiliki perjanjian; juga, jika beberapa program tidak berjalan, beberapa port tidak diambil, "file layanan Windows" juga tidak diperbarui.

Jadi untuk apa file ini?

Di mana saja saya dapat menemukan beberapa dokumen? Mungkin karena nama file yang populer, saya telah mencari di internet tetapi kebanyakan tautan adalah tentang "Layanan Windows" ... bukan "File Layanan Windows" ini ...

EDIT:

Satu pertanyaan lagi, karena file "layanan" dapat kedaluwarsa, apakah ada cara untuk mendaftar semua "layanan" yang aktif?

athos
sumber

Jawaban:

7

File ini memberi tahu layanan yang ditulis oleh Microsoft port apa yang akan digunakan, serta file yang ingin menggunakan API Windows dan / atau file itu untuk mengubah nama layanan menjadi port. Nama-nama layanan ini ditentukan oleh IETF.

Berikut adalah contoh instruksi untuk mengubah port agar memberi ruang bagi server SMTP lainnya.

Dan inilah penjelasan lebih lanjut tentang nama layanan:

servicename [di]

String yang diakhiri NULL yang berisi nama layanan atau port tujuan host yang akan disambungkan ke IPv4 atau IPv6.

Nama layanan adalah alias string untuk nomor port. Sebagai contoh, "http" adalah alias untuk port 80 yang didefinisikan oleh Internet Engineering Task Force (IETF) sebagai port default yang digunakan oleh server web untuk protokol HTTP. Nilai yang mungkin untuk parameter servicename ketika nomor port tidak ditentukan tercantum dalam file berikut: %WINDIR%\system32\drivers\etc\services

- MSDN - Winsock - Fungsi WSAConnectByName

Tamara Wijsman
sumber
2
Secara khusus file layanan mendukung [getservbyname](http://msdn.microsoft.com/en-us/library/windows/desktop/ms738538(v=vs.85).aspx)API yang menerjemahkan nama layanan menjadi nomor soket.
Richard
@ Richard: Mungkin, tapi tidak disebutkan services.
Tamara Wijsman
jadi ini adalah konsep Socket Windows? maaf saya tidak terbiasa di sini ... apakah itu Windows Socket adalah protokol yang lebih rendah dari HTTP, TCP / IP, FTP, sehingga definisi yang dilakukan pada tingkat Windows Socket dapat mengatur perilaku pada tingkat HTTP, TCP / IP, atau FTP?
athos
@athos: Tidak, tidak ada protokol Layanan Windows pertama-tama menerjemahkan nama layanan (mis. http) Ke dalam port layanan (mis. 80Untuk http), kemudian menyediakan port layanan tersebut ke protokol yang relevan (TCP / IP).
Tamara Wijsman
4
Sidenote: Penamaan, penggunaan, dan format file ini berasal dari Unix di mana file tersebut berada /etc/services. Microsoft mengadopsi ini ketika mereka mulai mengganti protokol jaringan milik mereka Netbeui dengan protokol TCP / IP open-source yang menjadi lebih penting. Lihat kuro5hin.org/story/2001/6/19/05641/7357
RedGrittyBrick