network-programming- все статьи тега


Создание пакета ICMP внутри модуля ядра Linux

Я пытаюсь экспериментировать с протоколом ICMP и создал ядро-модуль для linux, который анализирует пакет ICMP (обрабатывает пакет только в том случае, если поле кода ICMP является магическим числом ) . Теперь, чтобы протестировать этот модуль, я должен создать пакет ICMP и отправить его на Хост, где работает этот анализирующий модуль . На самом деле было бы неплохо, если бы я мог реализовать его само ядро (как модуль ) . Я ищу что-то вроде packetcrafter в kernel, я погуглил его нашел много стате ...

сырой сокет сокет датаграмм или нет?

Для неблокирующего сокета дейтаграммы, такого как UDP, когда я вызываю write ()/send () на сокете, каждый вызов write ()/send () или read ()/recv () имеет дело ровно с 1 пакетом. Мне интересно, является ли raw socket, как показано ниже, сокетом дейтаграммы или нет? int on = 1; rawfd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); setsockopt(IPPROTO_IP, IP_HDRINCL, &on, sizeof(on)); ...

Отправка "случайного" трафика через сеть Mininet

Я хочу протестировать алгоритм маршрутизации центра обработки данных с помощью Mininet. Трафик должен соответствовать определенным параметрам: он должен состоять из" файлов " различных размеров (обратите внимание, что они на самом деле не должны быть файлами; трафик, генерируемый, например, iperf, в порядке, пока размер контролируется); размеры файлов должны быть взяты из конкретного дистрибутива; пары источник/конечный узел, между которыми передаются данные, должны выбираться случайным обр ...

getaddrinfo и IPv6

Я пытаюсь понять, что возвращает функция getaddrinfo: #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> #include <netdb.h> int main (int argc, char *argv[]) { struct addrinfo *res = 0 ; getaddrinfo("localhost", NULL ,NULL,&res); printf("ai_flags -> %in", res->ai_flags) ; printf("ai_family -> %in", res->ai_family) ; printf("ai_socktype -> %in", res->ai_socktype) ; printf("ai_protocol -> ...

Как отправить пакеты размером более 1500 байт с помощью pcap sendpacket?

На самом деле, у меня есть два связанных вопроса. Я захватываю фильтрованный сетевой трафик с помощью libpcap в Debian. Затем мне нужно воспроизвести этот трафик на сервере Win2k3. Иногда я перехватываю пакеты, как TCP, так и UDP, намного больше 1500 байт (размер MTU по умолчанию для Ethernet). Например, 2000 + байт. Я не делал никаких конкретных изменений размера MTU на этом Linux. Итак, вопрос №1: В чем причина того, что эти пакеты намного больше, чем MTU по умолчанию? гигантские рамки ? В ...

Искусственно создать ошибку тайм-аута соединения

У меня была ошибка в нашем программном обеспечении, которая возникает, когда я получаю тайм-аут соединения. Эти ошибки очень редки (обычно, когда мое соединение отбрасывается нашей внутренней сетью). Как я могу создать такой эффект искусственно, чтобы я мог протестировать наше программное обеспечение? Если это имеет значение, приложение написано на C++/MFC с использованием классов CAsyncSocket. Edit: Я пробовал использовать несуществующий хост, и я получаю ошибку сокета: WSAEINVAL (10022 ...

Что вы используете, когда вам нужен надежный UDP?

Если у вас есть ситуация, когда TCP-соединение потенциально слишком медленно, а UDP-соединение потенциально слишком ненадежно, что вы используете? Существуют различные стандартные надежные протоколы UDP, какой опыт у вас есть с ними? пожалуйста, обсудите один протокол за ответ, и если кто-то уже упомянул тот, который вы используете, то рассмотрите возможность голосования их и использования комментария для разработки, если это необходимо. меня интересуют различные параметры здесь, из которых TC ...

Получение "внешнего" IP-адреса в Java

Я не слишком уверен, как получить внешний IP-адрес машины, поскольку компьютер за пределами сети увидит его. мой следующий класс IPAddress получает только локальный IP-адрес машины. public class IPAddress { private InetAddress thisIp; private String thisIpAddress; private void setIpAdd() { try { InetAddress thisIp = InetAddress.getLocalHost(); thisIpAddress = thisIp.getHostAddress().toString(); } catch (Exception e) { } } ...