9 votos

Enviar la ruta del archivo de los parámetros a través de Telnet

Me gustaría enviar un texto a un puerto en mi máquina de uso telnet en el Mac OS X Terminal.

Empiezo telnet el uso de:

telnet localhost 8080

A continuación, escribir el texto. Es que el texto de enviar automáticamente o tengo que hacer algo para enviar el texto?

13voto

DLRdave Puntos 398

He aquí un simple Python server:

#!/usr/bin/env python

import socket


TCP_IP = '127.0.0.1'
TCP_PORT = 5005
BUFFER_SIZE = 10  # Normally 1024, but we want fast response

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(1)

conn, addr = s.accept()
print 'Connection address:', addr
while 1:
    data = conn.recv(BUFFER_SIZE)
    if not data: break
    print "received data:", data
    conn.send(data)  # echo
conn.close()

Fuente

Guardar como server.py y ejecutarlo python server.py.

Intente conectarse con el terminal

telnet 127.0.0.1 5005

A continuación, sólo escriba nada y pulse retorno

El servidor de impresión de los datos en la consola y enviar de nuevo a usted.

De esa manera, usted sabrá lo que tiene que hacer para enviar datos a través de telnet.

5voto

matthew k Puntos 11

Cuando se escribe el texto en telnet, por defecto, opera en Linemode que enviar los paquetes por línea, así que usted sólo necesita pulsar la tecla Enter para enviar el comando al host remoto (desde la terminal de procesamiento de caracteres en el lado del cliente). Esto es con el fin de reducir el tráfico de red y es muy útil para el largo retraso de las redes cuando se escriba la línea de comandos. Si necesita enviar paquetes por carácter escrito, entonces usted necesita para cambiar al modo binario.


A prueba de Telnet en Linemode, puede ejecutar el maniquí servidor a la escucha en el puerto local, utilizando por ejemplo netcat (instalar si es necesario):

nc -vl localhost 1234

luego en otro terminal para conectarse a su servidor:

telnet localhost 1234

o en bash:

cat > /dev/tcp/127.0.0.1/1234

y de verificación cuando se reciben los datos.

3voto

James A. Rosen Puntos 25774

La respuesta depende de lo que el extremo remoto es compatible con:

  1. Más Reciente De La Línea De Modo de donde el carácter de procesamiento se hace localmente, mientras que el mando a distancia envía y recibe los paquetes de control durante escribir y recibe toda la línea al entrar en algunas de fin de línea char (e.g oprimir la tecla ENTER).
  2. Carácter-en-un-tiempo donde cada char es transmitida como es ha escrito.
  3. Vieja línea-en-un-tiempo - totalmente completado las líneas de transmisión.

Lo que el extremo remoto se hace con el recibido de entrada, depende del extremo remoto. La mayoría de los procesos de servidor (HTTP, SMTP, POP, IMAP) tienden a esperar a final de línea (EOL, newline) char antes de procesar la entrada. Algunos otros pueden esperar de fin de archivo (EOF, ^D) antes de iniciar el proceso de la entrada.

-1voto

John Boker Puntos 36308

Trate de usar send comando después de abrir la conexión al host de destino.

send "some text"

Para obtener más información acerca de la send ver man telnet

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X