Existe alguma alternativa para o daemon echo exibir o ip?

1

Existe alguma alternativa ao echo daemon para exibir ip em vez de uma determinada string?

Por ex: meu ip = 80.1.2.3

servidor ip = 1.2.3.4

root@my-machine bash$ telnet 1.2.3.4
Trying 1.2.3.4...
Connected to 1.2.3.4.
Escape character is '^]'.
80.1.2.3
    
por Mark van-Hauser 25.10.2013 / 10:13

3 respostas

3

Aqui está uma pequena implementação do que você quer em Python (execute como server.py <port> :

#!/usr/bin/env python

import socket
import sys

_, port = sys.argv

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("0.0.0.0", int(port)))
sock.listen(1)

while True:
    conn, addr = sock.accept()
    ip, port = addr
    conn.send(ip.encode("ascii") + b"\n")
    conn.close()
$ ./server.py 1234 &
[1] 20315
$ nc localhost 1234
127.0.0.1
$
    
por 25.10.2013 / 11:06
2

com socat :

socat tcp-listen:12345,reuseaddr,fork system:'echo "$SOCAT_PEERADDR"'
    
por 25.10.2013 / 11:50
0

Em suma, não . A descrição do Protocolo Echo no RFC 862 é muito simples e não ambíguo:

TCP Based Echo Service

One echo service is defined as a connection based application on TCP. A server listens for TCP connections on TCP port 7. Once a connection is established any data received is sent back. This continues until the calling user terminates the connection.

UDP Based Echo Service

Another echo service is defined as a datagram based application on UDP. A server listens for UDP datagrams on UDP port 7. When a datagram is received, the data from it is sent back in an answering datagram.

    
por 25.10.2013 / 10:48