Sobes.tech
Назад к вопросам
Junior — Middle
93

Какие знания и практический опыт у вас есть в области работы с сетевыми настройками и протоколами в Linux?

Компании, где спрашивали
Baum

Ответ от нейросети

sobes.tech AI

У меня есть базовые знания и практический опыт работы с сетевыми настройками и протоколами в Linux. Я умею настраивать сетевые интерфейсы с помощью команд ifconfig и ip, управлять маршрутами через route и ip route.

Также знаком с основами работы протоколов TCP/IP, UDP, ICMP, умею использовать утилиты ping, traceroute, netstat и ss для диагностики сети. В рамках проектов на C/C++ реализовывал простые сетевые приложения с использованием сокетов (BSD sockets), что позволило понять принципы клиент-серверного взаимодействия.

Пример простого TCP-клиента на 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 << "Socket creation error\n";
        return 1;
    }

    sockaddr_in serv_addr{};
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(80); // HTTP порт

    if(inet_pton(AF_INET, "93.184.216.34", &serv_addr.sin_addr) <= 0) { // example.com
        std::cerr << "Invalid address\n";
        return 1;
    }

    if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
        std::cerr << "Connection Failed\n";
        return 1;
    }

    std::cout << "Connected to server\n";
    close(sock);
    return 0;
}