¿Qué es un puerto?
En tecnología de redes, puerto tiene dos significados: uno es el puerto físico, como la interfaz utilizada por módems, concentradores, conmutadores y enrutadores ADSL para conectarse a otros dispositivos de red, como RJ-45. Puertos y puerto SC. El segundo es el puerto lógico, que generalmente se refiere al puerto en el protocolo TCP/IP. Los números de puerto van del 0 al 65535, como el puerto 80 para servicios de navegación web, el puerto 21 para servicios FTP, etc. Lo que vamos a introducir aquí son puertos lógicos.
Clasificación de puertos
Existen muchos estándares de clasificación para puertos en un sentido lógico. A continuación se presentarán dos clasificaciones comunes:
1.
(1) Puertos conocidos
Los puertos conocidos son números de puerto conocidos del 0 al 1023. Estos números de puerto generalmente se asignan a algunos servicios. Por ejemplo, el puerto 21 está asignado al servicio FTP, el puerto 25 está asignado al servicio SMTP (Protocolo simple de transferencia de correo), el puerto 80 está asignado al servicio HTTP, el puerto 135 está asignado al servicio RPC (llamada a procedimiento remoto), etcétera.
(2)Puerto dinámico.
Los puertos dinámicos van del 1024 al 65535. Estos números de puerto generalmente no están fijos a un servicio, lo que significa que muchos servicios pueden utilizar estos puertos. Siempre que un programa en ejecución solicita acceso a la red desde el sistema, el sistema puede asignar uno de estos números de puerto al programa. Por ejemplo, el puerto 1024 se asigna al primer programa para enviar una aplicación al sistema. Después de cerrar el proceso del programa, se liberará el número de puerto ocupado.
Sin embargo, los virus troyanos suelen utilizar puertos dinámicos. Por ejemplo, el puerto de conexión predeterminado de Glacier es 7626, WAY 2.4 es 8011, Netspy 3.0 es 7306 y el virus YAI es 1024.
2. Según el tipo de protocolo.
Según el tipo de protocolo se puede dividir en puertos TCP, UDP, IP e ICMP (Internet Control Message Protocol). A continuación se presentan principalmente los puertos TCP y UDP:
(1)Puerto TCP
El puerto TCP, puerto del Protocolo de control de transmisión, necesita establecer una conexión entre el cliente y el servidor para proporcionar una conexión confiable. Transferencia de datos. Los más comunes incluyen el puerto 21 del servicio FTP, el puerto 23 del servicio Telnet, el puerto 25 del servicio SMTP, el puerto 80 del servicio HTTP, etc.
(2)Puerto UDP
El puerto UDP, es decir, el puerto del Protocolo de datagramas de usuario, no necesita establecer una conexión entre el cliente y el servidor, y no se puede garantizar la seguridad. . Los más comunes incluyen el puerto 53 para el servicio DNS, el puerto 161 para el servicio SNMP, los puertos 8000 y 4000 utilizados por QQ, etc.
La función de mapeo de puertos permite que las máquinas de la red interna proporcionen servicios WWW al exterior, en lugar de transmitir la dirección IP real directamente al host que proporciona servicios WWW internamente. Si es así, existen dos propósitos ocultos. En primer lugar, la máquina interna no es segura porque la red externa puede acceder a todas las funciones de la máquina excepto WWW a través de la función de traducción de direcciones. En segundo lugar, cuando varias máquinas necesitan proporcionar este servicio, se deben traducir tantas direcciones IP como sea posible; no lograr el propósito de guardar direcciones IP. La función del mapeo de puertos es mapear la dirección IP falsa de un host a una dirección IP real. Cuando un usuario accede a un puerto desde un host que proporciona puertos asignados, el servidor enruta la solicitud al host que proporciona ese servicio específico. La función de asignación de puertos también puede asignar varios puertos de una máquina con dirección IP real a diferentes puertos en diferentes máquinas internas. La función de mapeo de puertos también puede completar algunas funciones de proxy específicas, como proxy POP, SMTP, TELNET y otros protocolos. En teoría, puede proporcionar más de 60.000 asignaciones de puertos y me temo que nunca nos quedaremos sin ellas.
En Internet, cada host envía y recibe datagramas a través del protocolo TCP/TP, y cada datagrama se enruta según la dirección IP de su host de destino. Se puede ver que no hay ningún problema para enviar exitosamente el datagrama al host de destino.
¿Cuál es el problema? Sabemos que la mayoría de los sistemas operativos admiten múltiples programas (procesos) ejecutándose al mismo tiempo, entonces, ¿a qué proceso debe enviar el host de destino el datagrama recibido? Obviamente, este problema necesitaba resolverse, por lo que se introdujo el mecanismo de puerto.
El sistema operativo local asignará puertos de protocolo a aquellos procesos que los necesiten. Cada puerto de protocolo se identifica mediante un número entero positivo, como 80, 139, 445, etc. Después de recibir el datagrama, el host de destino enviará los datos al puerto correspondiente de acuerdo con el número de puerto de destino en el encabezado del mensaje. El proceso correspondiente al puerto recibe los datos y espera la llegada del siguiente conjunto de datos. A estas alturas, el concepto de puerto todavía parece relativamente abstracto, así que sígueme y no te alejes.
Los puertos son en realidad colas. El sistema operativo asigna una cola diferente a cada proceso. El datagrama se envía a la cola correspondiente según el puerto de destino, esperando que el proceso acceda a él. En circunstancias extremadamente especiales, esta cola puede desbordarse, pero el sistema operativo permite que cada proceso especifique y ajuste su propio tamaño de cola.
El proceso de recepción de datagramas no solo necesita abrir su propio puerto, sino que el proceso de envío de datagramas también necesita abrir el puerto, de modo que el puerto activo sea identificado en el datagrama, de modo que el El receptor puede enviar exitosamente el datagrama y regresar a este puerto.
Clasificación de puertos:
En Internet, los puertos se dividen en dos categorías según el tipo de protocolo: puerto TCP y puerto UDP. Aunque todos están identificados por números enteros positivos, esto no causa ambigüedad, como el puerto TCP 80 y el puerto UDP 80, porque el datagrama también indicará el tipo de puerto.
En términos de asignación de puertos, los puertos se dividen en dos categorías: puertos fijos y puertos dinámicos (algunos tutoriales también clasifican los puertos de gama alta poco utilizados en una tercera categoría: puertos privados):
Puerto fijo (0-1023):
Utilizar un mecanismo de gestión centralizado, es decir, obedecer la asignación de puertos por parte de una organización de gestión, que es responsable de publicar estas asignaciones. Debido a que estos puertos están vinculados a algunos servicios, a menudo los escaneamos para determinar si la otra parte ha iniciado estos servicios, como TCP 21 (ftp), 80 (bios), UDP 7 (echo), 69 (tftp), etc. Puerto muy conocido.
Puertos dinámicos (1024-49151):
Estos puertos no son fijos en un servicio. El sistema operativo asigna dinámicamente estos puertos a cada proceso. El mismo proceso puede asignarse dos veces. diferentes puertos. Sin embargo, algunas aplicaciones no quieren utilizar puertos dinámicos asignados por el sistema operativo. Tienen sus propios puertos "marcados", como el puerto 4000 para el cliente oicq y el puerto 7626 para Troy Glacier. Estos puertos son fijos y bien conocidos.
El papel de los puertos en la intrusión;
Alguien comparó una vez el servidor con una casa y el puerto con una puerta que conduce a diferentes habitaciones (servicios). Esta metáfora es buena. Si un intruso quiere ocupar esta casa, definitivamente entrará por la fuerza (invasión física es otra palabra), por lo que es muy importante que el intruso sepa cuántas puertas se abren en la casa, qué tipo de puertas son y qué está detrás de las puertas.
Los intrusos suelen utilizar escáneres para escanear los puertos del host de destino y determinar qué puertos están abiertos. Desde los puertos abiertos, el intruso puede saber qué servicios proporciona el host objetivo y luego adivinar posibles vulnerabilidades. Por lo tanto, escanear puertos puede ayudarnos a comprender mejor el host de destino. Para los administradores, escanear los puertos abiertos de la máquina también es el primer paso para tomar precauciones de seguridad.
Introducción a los puertos de uso común
Debido a mi conocimiento limitado, aquí solo presento algunos contenidos simples.
1)21
La apertura de este puerto significa que el servidor proporciona servicios FTP. Los intrusos suelen escanear este puerto para determinar si se permiten inicios de sesión anónimos. Si pueden encontrar un directorio en el que se pueda escribir, pueden cargar algún programa de piratería para una mayor intrusión. Para cerrar este puerto, debe desactivar el servicio FTP.
2) 23 Inicio de sesión remoto
Abrir este puerto significa que el servidor proporciona servicios de inicio de sesión remoto.
Si tiene un nombre de usuario y una contraseña de administrador, puede tomar control total del host a través de este servicio (pero primero debe obtener autenticación NTLM) y obtener un shell en la línea de comando. A muchos intrusos les gusta abrir este servicio como puerta trasera. Para cerrar este puerto, debe desactivar el servicio Telnet.
3)25 smtp
La apertura de este puerto significa que el servidor proporciona servicios SMTP. Algunos servidores que no admiten autenticación permiten a los intrusos enviar correo a cualquier lugar. Los servidores SMTP (especialmente Sendmail) también son uno de los métodos más utilizados para ingresar al sistema. Para cerrar este puerto, debe desactivar el servicio SMTP.
4) 69 TFTP (Partido Demócrata)
Abrir este puerto significa que el servidor proporciona el servicio TFTP, lo que permite descargar y escribir archivos desde el servidor. Si el administrador lo configura incorrectamente, un intruso puede incluso descargar el archivo de contraseña. Muchos intrusos implementan la transferencia de archivos ejecutando el servicio en sus propias máquinas y transfiriendo archivos a la máquina de destino. Para cerrar este puerto, debe cerrar el servicio TFTP.
5) Finger 79
Se utiliza para obtener información del usuario, consultar el sistema operativo, detectar errores conocidos de desbordamiento del búfer y responder a escaneos dactilares desde la propia máquina a otras máquinas.
6)80 Estadísticas de Seguridad
Efectivamente, esta no es una herramienta, pero es la forma más conveniente de ver los puertos que has abierto. Simplemente ingrese este comando en cmd. Tiene este aspecto:
c:\gt;Base de datos de estadísticas de red
Conexiones activas
Dirección local original Estado de dirección externa
TCP 0.0 .0.0:135 0.0.0.0:0 escuchando
TCP 0.0.0.0:445 0.0.0.0:0 escuchando
TCP 0.0.0.0:1025 0.0.0.0:0 escuchando
TCP 0.0.0.0:1026 0.0.0.0:0 escuchando
TCP 0.0.0.0:1028 0.0.0.0:0 escuchando
TCP 0.0.0.0: 3372 0.0.0.0:0 escuchando
UDP 0.0.0.0:135 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0: 1027 *:*
UDP 127 . >Este es el puerto que abre mi máquina cuando no estoy en línea. Dos puertos, 135 y 445, son puertos fijos y los demás son puertos dinámicos.
Fport.exe e import.exe.
Este también es un pequeño programa que puede ver los puertos abiertos de la máquina local bajo dos líneas de comando. De hecho, es similar a netstat -an, excepto que puede mostrar el proceso de apertura del puerto con más información. Si sospecha que su puerto extraño podría ser un troyano, compruébelo con ellos.
3 activeport.exe (también conocido como aports.exe)
También se utiliza para ver los puertos abiertos de la máquina local. Además de todas las características de los dos programas mencionados anteriormente, tiene dos características más atractivas: una interfaz gráfica y la capacidad de cerrar puertos. Definitivamente esto es algo útil para principiantes y se recomienda.
4Super Scan 3.0
No has oído hablar de su nombre, ¿verdad? El número uno entre los software de escaneo de puertos puros es rápido y puede especificar el puerto de escaneo. No hace falta decir que se trata de una herramienta absolutamente necesaria.
Protege tus puertos:
Los amigos que son nuevos en Internet generalmente son muy sensibles a sus propios puertos. Siempre temen que sus computadoras tengan demasiados puertos abiertos, y temen aún más que haya puertos con programas de puerta trasera. Pero como no estoy muy familiarizado con el puerto y no tengo una solución, no me atrevo a conectarme.
De hecho, no es tan difícil proteger sus propios puertos, siempre y cuando haga lo siguiente:
1 Verificar: use frecuentemente comandos o software para verificar los puertos locales abiertos y ver si hay algún puerto sospechoso. puertos;
2. Juicio: si no está familiarizado con el puerto abierto, debe consultar inmediatamente la enciclopedia de puertos o los puertos troyanos de uso común (hay muchos en línea) y otra información para verificar la descripción del mismo. función de su puerto sospechoso, o ábralo mediante software. Se juzga el proceso del puerto.
3 Cerrar: si es un puerto troyano o no hay una descripción de este puerto en los datos, entonces este puerto debería. estar cerrado. Puede usar un firewall para bloquear este puerto, o puede usar Conexión local-TCP/IP-Opciones avanzadas-Puerto de filtro TCP/IP para habilitar el mecanismo de filtrado.