Directorio de libros de programación de redes de Windows
Parte 1 Protocolo básico
Capítulo 1 Descripción general de Internet y el modelo de comunicación de red 1
1.1 Descripción general de Internet 1
1.1.1 La historia del desarrollo de Internet 1
1.1.2 La organización de gestión de Internet 3
1.1.3 La situación actual de la construcción de redes nacionales de Internet 5
1.2 Modelos y protocolos de comunicación de red Clúster 6
1.2.1 Modelo de referencia OSI 6
1.2.2 Arquitectura de clúster de protocolo TCP/IP 11
Ejercicio 12 p>
Capítulo 2 Clúster de protocolos TCP/IP y sus aplicaciones 14
2.1 IP 14
2.1.1 Conceptos básicos de IP 14
2.1.2 Clave mecanismos de IP 16
2.2 TCP y UDP 17
2.2.1 Funciones de red de TCP 17
2.2.2 Estructura del segmento TCP 18
2.2. 3. Flujo de trabajo básico de TCP 20
2.2.4 UDP 22
2.3 Otros protocolos de uso común 23
2.3.1 ARP 23 p>
2.3.2 ICMP 26
2.3.3 Telnet 28
2.3.4 FTP 29
2.3.5 SMTP y POP3 31 p>
Ejercicio 32
Capítulo 3 Dirección IP y planificación de subred 34
3.1 Dirección IP 34
3.1.1 Estructura de la dirección IP 34 p>
3.1.2 Clasificación de direcciones IP 35
3.1.3 Direcciones IP especiales 37
3.2 División de subred 38
3.2.1 Subred 38
3.2.2 Máscara de subred 39
3.2.3 Notación CIDR 45
3.2.4 Dirección unidifusión, multidifusión y difusión 46
Ejercicio 49
Parte 2 Programación de Redes
Capítulo 4 Conceptos Básicos de Programación de Redes 50
4.1 Conceptos básicos relacionados con la programación de redes 50
4.1 .1 Programación de redes y comunicación de procesos 50
4.1.2 Identificación de procesos entre redes en Internet 53
4.1.3 Características de los protocolos de red 56
4.1.4 Protocolo de datagramas de usuario eficiente 59
4.1.5 Protocolo de control de transmisión confiable 59
4.2 Tres tipos de programación de red 61
4.2 .1 Basado en programación de red en la pila de protocolos TCP/IP 61
4.2.2 Programación de red basada en aplicaciones WWW 62
4.2.3 Programación de red de servicios web basada en .NET framework 62
4.3 Modelo de interacción cliente/servidor 65
4.3.1 Estado y función del software de aplicación de red 65
4.3.2 Modelo cliente/servidor 66 p>
4.3. 3 Características del cliente y el servidor 67
4.3.4 Terminología confusa 67
4.3.5 Proceso de comunicación entre el cliente y el servidor 68 p>
4.3.6 La relación entre protocolos de red y modo C/S 69
4.3.7 Interacción compleja de C/S 69
4.3.8 ¿Cómo presta servicio el servidor a múltiples usuarios al mismo tiempo 70 /p>
4.3.9 Identificar un servicio específico 7
1
4.4 Modelo P2P 72
4.4.1 El auge de la tecnología P2P 72
4.4.2 La definición y características de P2P 73
4.4.3 Desarrollo de P2P 73
4.4.4 Tecnologías clave de P2P 74
4.4.5 Aplicación y perspectivas del sistema P2P 74
Ejercicios 75
p>Capítulo 5 Conceptos básicos de la programación de sockets 76
5.1 El surgimiento y desarrollo de la interfaz de programación de red Socket 76
5.1.1 Se originó la interfaz de programación de sockets del sistema operativo UNIX 76
p>5.1.2 La interfaz de programación Socket ha sido heredada y desarrollada en los sistemas operativos Windows y Linux 77
5.2 El principio de funcionamiento y conceptos básicos de Socket 77
5.2.1 Socket Cómo funciona el protocolo 77
5.2.2 Qué es Socket 78
5.2.3 Métodos y tipos de servicio de socket 78
5.3 Conceptos básicos de programación de WinSock 79
p>5.3.1 Creación del marco de aplicación WinSock 79
5.3.2 Representación de la dirección IP 82
5.4 Conexión Programación de Socket orientada a conexión 84
5.4.1 Proceso de comunicación de Socket orientada a conexión 84
5.4.2 Función socket() 85
5.4.3 bind() función 86
5.4.4 escuchar() función 87
5.4.5 aceptar() función 88
5.4.6 recv() función 90
5.4.7 Función send() 91
5.4.8 Función closesocket() 93
5.4.9 Función Shutdown() 94
5.4 .10 función connect() 94
5.4.11 Ejemplo de programación de aplicación de servidor de socket TCP 95
5.4.12 Ejemplo de programación de aplicación de cliente de socket TCP 100
5.5 Conexión -Programación de sockets sin conexión 104 p>
5.5.1 Proceso de comunicación de socket no orientado a conexión 104
5.5.2 Función sendto() 105
5.5.3 recvfrom () función 106
5.6 Opción de socket 108
5.6.1 Llamar a la función getsockopt() para obtener la opción de socket 108
5.6.2 Llamar a la función setsockopt() para configurar la opción Socket 111
Ejercicio 113
Capítulo 6 Detección de dispositivos en línea en la red 114
6.1 Obtención de la información de red de la computadora local 114
6.1.1 Uso del comando ipconfig para obtener información de la red local 114
6.1.2 Interfaz de desarrollo IP Helper API para obtener información de la red local 115
6.1.3 Obtención de información local información del adaptador de red 116
6.1. 4. Obtener el nombre del host local, el nombre de dominio y la información del servidor DNS 120
6.1.5 Obtener la información básica de la interfaz de red de la computadora local 124
6.1.6 Obtener la tabla de direcciones IP de la computadora local 127
p>6.1.7 Agregar y eliminar direcciones IP 130
6.2
Escanear las direcciones en la subred 135
6.2.1 Calcular todas las direcciones IP contenidas en la subred especificada 135
6.2.2 Implementar la función ping 139
6.2 .3 Escaneo de subredes 146
Ejercicios 154
Capítulo 7 Tecnología de programación de redes NetBIOS 156
7.1 Protocolo y aplicación NetBIOS 156
7.1. 1 Protocolo NetBIOS 156
7.1.2 Uso del comando NBTSTAT 159
7.2 Interfaz de desarrollo NetBIOS 160
7.2.1 Operación NetBIOS 160
7.2.2 Estructura NCB 161
7.2.3 Otras estructuras NetBIOS utilizadas comúnmente 165
7.2.4 Función Netbios() 167
7.2. Nombres NetBIOS en LANA 168
7.2.6 Obtener la dirección MAC en el adaptador de red 172
7.3 Implementar la función del comando NBTSTAT en el programa 174
7.3 .1 Principio de funcionamiento de este ejemplo 174
7.3.2 Estructura definida 175
7.3.3 Función definida para obtener información NetBIOS 175
7.3.4 El principal función para implementar la función de comando NBTSTAT 180
Ejercicios 181
Capítulo 8 Tecnología avanzada de programación de sockets 182
8.1 Descripción general del modelo de programación de sockets 182
8.2 Programación de sockets en modo sin bloqueo y sin bloqueo 184
8.2.1 Configuración del modo sin bloqueo Socket 184
8.2.2 Ejemplo de programación de aplicaciones de servidor en modo sin bloqueo 185
8.2.3 Ejemplo de programación de aplicaciones cliente en modo sin bloqueo 189
8.2.4 Ejemplo de programación de aplicaciones de servidor multiproceso basado en modo sin bloqueo 192
8.3 Programación de sockets basada en el modelo Select 195
8.3.1 Función select() 195
8.3.2 Ejemplo de aplicación de servidor basada en el modelo Select 196
8.4 Programación de sockets basado en el modelo WSAAsyncSelect 203
8.4.1 Función WSAAsyncSelect() 203
8.4.2 Creación de ventana 204
8.4.3 Rutina de ventana 207
8.4.4 Programación de servidor basada en el modelo WSAAsyncSelect 208
8.5 Programación de socket basada en el modelo WSAEventSelect 213
8.5.1 Función WSAEventSelect() 213
8.5.2 Crear y administrar objetos de eventos 214
8.5.3 Función WSAWaitForMultipleEvents() 215
8.5.4 Función WSAEnumNetworkEvents() 216
8.5 .5 Servidor programación basada en el modelo WSAEventSelect 216
8.6 Programación de sockets basada en el modelo de E/S superpuestas 221
8.6.1 Función WSASocket() 221
8.6 .2 Llamada la función WSASend() para enviar datos 222
8.6.3 Llamar a W
La función SARecv() recibe datos 223
8.6.4 Función GetOverlappedResult() 224
8.6.5 Usar notificaciones de eventos para gestionar operaciones de E/S superpuestas 224
8.6.6 Uso de rutinas de finalización para gestionar operaciones de E/S superpuestas 227
8.7 Programación de sockets basada en el modelo de puerto de finalización 231
8.7.1 Cómo funciona el modelo de puerto de finalización 231 p> p>
8.7.2 Creando un objeto de puerto de finalización 232
8.7.3 Esperando el resultado de la operación de E/S superpuestas 233
8.7.4 Basado en aplicación de servidor sobre el modelo de puerto de finalización Ejemplo 234
Ejercicio 240
Capítulo 9 Tecnología de captura, filtrado y análisis de paquetes de red basada en la tecnología WinPcap 242
9.1 Conceptos básicos de la tecnología WinPcap 242
9.1.1 Arquitectura WinPcap 242
9.1.2 Controlador NIC y NDIS 243
9.1.3 Módulo de filtrado de paquetes de red (NPF) 244
9.1.4 Principios y pasos para capturar paquetes de datos 246
9.2 Descargar e instalar el paquete de desarrollo WinPcap 247
9.2.1 Descargar WinPcap 247
9.2 .2 Instalación de WinPcap 249
9.2.3 Estructura de directorios del código fuente 250
9.3 Uso de la tecnología WinPcap en Visual C 251
9.3.1 Configuración del entorno 251
9.3.2 Obtener la lista de dispositivos vinculados al adaptador de red 252
9.3.3 Obtener la información de atributos avanzados del adaptador de red 255
9.3 .4 Abrir el Adaptador de red e implementar la función de captura de paquetes 258
9.3.5 Capturar paquetes sin procesador de eventos 262
9.3.6 Filtrar paquetes 265
9.3. 7 Análisis de paquetes de datos 266
Ejercicio 271
Aplicación de ejemplo de la Parte 3
Capítulo 10 Diseño de detectores de LAN 273
10.1 Detección de LAN Funciones principales del servidor 273
10.2 Diseño del módulo básico 274
10.2.1 Funciones básicas 274
10.2.2 Clase de host local CLocalhost 277
10.2.3 Clase de dispositivo CDevice 279
10.2.4 Clase de subred CSubnet 279
10.3 Diseño de la interfaz principal del sistema 289
10.3.1 Interfaz principal del sistema Controles incluidos en 289
10.3.2 Diseño de elementos de menú 290
10.4 Carga y salida de la interfaz principal 291
10.4.1 Implementación del código para cargar la interfaz principal 291
10.4.2 Información de descripción de salida en el cuadro de edición de texto 295
10.4.3 Ajustar automáticamente el tamaño del control 296
10.4.4 Salir del sistema y guardar desde Definir subredes 297
10.5 Administrar subredes 297
10.5.1 Agregar y editar subredes 297
10.5.2 Eliminar subredes 301
10.6 Escanear la subred especificada 302
10.6.1 Diseñar el cuadro de diálogo para realizar la operación de escaneo de subred 303
10.6.2 Iniciar el escaneo de subred 305
10.7 Detección del estado de la subred 305
p>
10.7.1 Diseñar un cuadro de diálogo para detectar el estado de la subred 306
10.7.2 Iniciar la detección de estado 308
Capítulo 11 Diseñar una herramienta de descarga BT basada en tecnología P2P 310
11.1 El principio de funcionamiento y aplicación de la tecnología P2P 310
11.1.1 El principio de funcionamiento de la tecnología P2P 310
11.1.2 Modelo de red P2P 312 p>
11.1.3 Descarga BT 313
11.1.4 FTKernelAPI compatible con la biblioteca del núcleo de red del protocolo BT 315
11.2 Diseño de interfaz principal del sistema 317
11.2.1 Controles incluidos en la interfaz principal del sistema 317
11.2.2 Elementos del menú Diseño 318
11.2.3 Barra de herramientas Diseño 318
11.3 Cargando el ventana principal 320 p>
11.3.1 Implementación de código para cargar la ventana principal 321
11.3.2 Inicialización del entorno FTKernelAPI 322 en la función StartContext()
11.3 .3 En la función InitNatTunnel() Inicialice la operación de penetración en la intranet 326
11.4 Implemente la descarga de BT 328
11.4.1 Abra el archivo torrent 328
11.4.2 Iniciar descarga 337 p>
11.4.3 Detener descarga 342
11.4.4 Mostrar progreso de descarga 343
11.4.5 Eliminar archivos 347
11.4.6 Abrir directorio 348