Model I / O di Windows didasarkan pada tumpukan komponen. Data harus mengalir melalui berbagai komponen tumpukan yang ada antara kartu jaringan fisik, dan aplikasi yang akan mengkonsumsi data. Kadang-kadang berbagai komponen memeriksa data (paket TCP misalnya,) ketika mereka mengalir melalui tumpukan, dan berdasarkan isi paket itu, data dapat diubah, atau paket tersebut dapat dibuang seluruhnya.
Ini adalah model yang disederhanakan dari "tumpukan jaringan" yang mengalir paket untuk mendapatkan dari aplikasi ke kabel dan sebaliknya.
Salah satu komponen paling menarik yang ditunjukkan pada tangkapan layar di atas adalah API Callout WFP (Windows Filtering Platform). Jika kami memperbesarnya, mungkin terlihat seperti ini:
Pengembang bebas memasukkan modul mereka sendiri ke tempat yang sesuai dalam tumpukan ini. Misalnya, produk antivirus biasanya menggunakan "driver filter" yang terhubung ke model ini dan memeriksa lalu lintas jaringan atau menyediakan kemampuan firewall. Layanan Windows Firewall juga jelas cocok untuk model ini juga.
Jika Anda ingin menulis aplikasi yang merekam lalu lintas jaringan, seperti Wireshark, maka cara yang tepat untuk melakukannya adalah dengan menggunakan driver Anda sendiri, dan memasukkannya ke dalam tumpukan serendah mungkin sehingga dapat mendeteksi paket jaringan sebelum modul firewall Anda memiliki kesempatan untuk menjatuhkannya.
Jadi ada banyak "driver" yang terlibat dalam proses ini. Berbagai jenis driver juga. Juga, bentuk input / output lain pada sistem, seperti hard disk drive membaca dan menulis, mengikuti model yang sangat mirip.
Satu catatan lain - info WFP bukan satu-satunya cara untuk menyindir diri Anda ke tumpukan jaringan. WinPCap sebagai contoh, antarmuka dengan NDIS langsung dengan driver, yang berarti memiliki kesempatan untuk mencegat lalu lintas sebelum penyaringan telah terjadi sama sekali.
Driver NDIS
WinPCap
Referensi:
Stack TCP / IP Generasi Selanjutnya di Vista +
Arsitektur Platform Penyaringan Windows