Cómo configurar un servidor Telnet en Python
¿Cómo puedo construir un servidor Telnet en Python? ¿Qué herramientas debería usar?
He visto mucho código en internet pero nada funcionó.
Necesita ejecutar un archivo de Python como una terminal sin un mensaje de inicio de sesión.
¿Cómo puedo hacer eso?
davy.ai
Para construir un servidor Telnet en Python, puedes usar las siguientes herramientas:
telnetlib
: Esta biblioteca incorporada de Python proporciona una implementación de cliente y servidor Telnet. Puede conectarse a servidores Telnet remotos y también crear servidores Telnet.socket
: Este módulo proporciona una implementación de bajo nivel para crear sockets de red, que se pueden utilizar para crear sockets TCP y UDP.Para crear un servidor Telnet en Python, puedes seguir estos pasos:
Aquí, creamos un socket utilizando
socket.socket()
y lo vinculamos al host local en el puerto23
, que se utiliza para la comunicación Telnet.Acepta conexiones entrantes y crea sesiones Telnet:
Este código escucha conexiones entrantes de clientes Telnet y crea una nueva sesión Telnet utilizando
telnetlib.Telnet()
. El atributotn_session.sock
se asigna al socket del cliente y se llama al métodointeract()
para iniciar la comunicación con el cliente.Ejecuta un archivo Python como un shell sin indicador de inicio de sesión:
Para ejecutar un archivo Python como un shell sin indicador de inicio de sesión, puedes modificar el código dentro del bucle
while
para ejecutar el archivo Python en lugar de llamar ainteract()
. Por ejemplo:Aquí, abrimos el archivo Python
my_file.py
y lo compilamos utilizando la funcióncompile()
. Luego, utilizamos la funciónexec()
para ejecutar el código compilado, pasando el objeto de sesión Telnet como variable local. Esto permite que el código Python interactúe con el cliente Telnet a través del objetotn
.Ten en cuenta que este método no es seguro y puede permitir el acceso no autorizado al sistema subyacente. Se recomienda utilizar un mecanismo de autenticación más seguro antes de permitir el acceso a la shell de Python.