Sobes.tech
Junior — Middle

Que conhecimentos e experiência prática possui na área de configurações de rede e protocolos no Linux?

sobes.tech IA

Resposta da IA

Tenho conhecimentos básicos e experiência prática na configuração de redes e protocolos no Linux. Sei como configurar interfaces de rede usando os comandos ifconfig e ip, gerir rotas através de route e ip route. Também estou familiarizado com os fundamentos dos protocolos TCP/IP, UDP, ICMP, e sei usar utilitários como ping, traceroute, netstat e ss para diagnóstico de rede. Em projetos em C/C++, implementei aplicações simples de rede usando sockets (BSD sockets), o que me ajudou a entender os princípios da interação cliente-servidor.

Exemplo de um cliente TCP simples em C++:

#include <iostream>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>

int main() {
    int sock = socket(AF_INET, SOCK_STREAM, 0);
    if (sock < 0) {
        std::cerr << "Erro ao criar o socket\n";
        return 1;
    }

    sockaddr_in serv_addr{};
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(80); // porta HTTP

    if(inet_pton(AF_INET, "93.184.216.34", &serv_addr.sin_addr) <= 0) { // example.com
        std::cerr << "Endereço inválido\n";
        return 1;
    }

    if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
        std::cerr << "Falha na conexão\n";
        return 1;
    }

    std::cout << "Conectado ao servidor\n";
    close(sock);
    return 0;
}