Como criar um servidor e um cliente Echo usando Python

Client e servidor em python. Sugiro um scan com nmap como mostrado no post para verificar coisas reais e não conexões inúteis com seu 127.0.0.1.

Slycooper_br80

4/15/20242 min read

a computer monitor showing a diagram of a networked device
a computer monitor showing a diagram of a networked device

Como criar um servidor e um cliente Echo usando Python

Para começar, vamos criar um servidor e um cliente Echo usando código em Python. Embora Python não seja minha linguagem favorita, ela facilita muito o tamanho e o entendimento do código. Lembre-se de que o exemplo que apresentarei aqui se aplica a praticamente tudo, a única coisa que muda são os protocolos. Portanto, você pode tentar se conectar com qualquer site que possua a porta Echo aberta, em vez de ficar se conectando com você mesmo, o que seria extremamente entediante.

Passo 1: Importando as bibliotecas necessárias

Antes de começarmos a escrever o código, precisamos importar as bibliotecas necessárias. Neste caso, vamos importar a biblioteca 'socket', que nos permitirá criar e manipular sockets de rede.

import socket

Passo 2: Criando o servidor Echo

Agora, vamos criar o servidor Echo. O servidor Echo é responsável por receber uma mensagem do cliente e devolvê-la exatamente como foi recebida. Aqui está o código para criar o servidor Echo:

# Cria um objeto socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Define o endereço e a porta do servidor
server_address = ('localhost', 12345)

# Faz o bind do socket com o endereço do servidor
server_socket.bind(server_address)

# Coloca o servidor em modo de escuta
server_socket.listen(1)

# Aguarda uma conexão do cliente
print('Aguardando conexão do cliente...')
client_socket, client_address = server_socket.accept()
print('Conexão estabelecida com o cliente:', client_address)

# Recebe a mensagem do cliente e a envia de volta
while True:
    data = client_socket.recv(1024)
    if not data:
        break
    client_socket.sendall(data)

# Fecha a conexão com o cliente
client_socket.close()

# Fecha o socket do servidor
server_socket.close()

Passo 3: Criando o cliente Echo

Agora, vamos criar o cliente Echo. O cliente Echo é responsável por enviar uma mensagem para o servidor e exibir a resposta recebida. Aqui está o código para criar o cliente Echo:

# Cria um objeto socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Define o endereço e a porta do servidor
server_address = ('localhost', 12345)

# Conecta ao servidor
client_socket.connect(server_address)

# Envia uma mensagem para o servidor
message = input('Digite uma mensagem: ')
client_socket.sendall(message.encode())

# Recebe a resposta do servidor
data = client_socket.recv(1024)
print('Resposta do servidor:', data.decode())

# Fecha a conexão com o servidor
client_socket.close()

Agora você pode executar o servidor e o cliente Echo em terminais separados e testar a comunicação entre eles. Lembre-se sempre de fechar o socket ao final da conexão para evitar vazamentos de recursos.

Espero que este exemplo simples tenha ajudado você a entender como criar um servidor e um cliente Echo usando Python. Lembre-se de que esse conceito se aplica a muitos outros protocolos, e você pode explorar diferentes possibilidades. Divirta-se explorando!

Se connectar a você mesmo é um .... entao use nmap -T -iR 1000 -p 7.

Usamos o T3 para uma varredura com menos erros que a padrão usam o parâmetro -Ir 1000 que significa procure por 1000 hosts com a porta 7 a porta do protocolo aberta não a nada de mal nisso você enviada uma mensagem e ele te respondera, lembrando você nunca irá aprendar nada em redes se ficar se connectando com seu localhost não perca tempo com sites que afirmam isso. C-YA