LINUX.ORG.RU
ФорумTalks

[сетевое хулиганство] удвоить все исходящие пакеты


0

0

Подробно моя проблема описана в другом разделе форума, точнее тут -- http://www.linux.org.ru/view-message.jsp?msgid=2757606. Если кратко -- дикие потери пакетов, до 30%. И вот что я подумал -- если каждый третий исходящий пакет всё равно пропадёт, почему бы не дожидаясь ретрансмита, взять да и посылать все пакеты в двойном экземпляре?! Осталось придумать как сделать на выходе точный дубликат пакета. Есть идеи?

PS: никто не в курсе, насколько это вообще говоря законно?

Ну и? До 9% пакетов всё равно доходить не будут. Да, и UDP ты тоже собрался дублировать?

>никто не в курсе, насколько это вообще говоря законно?

А ты думаешь кого-то так задосить?

P. S. А не проще ли наехать на провайдера?

true
()
Ответ на: комментарий от Deleted

> иди учи приниципы работы tcp/ip

в фак послать каждый горазд, что не так то? по моему норм. второй пакет если и дойдёт будет отброшен

LowLevel
() автор топика

может проще будет поковырять исходники ядра?

generatorglukoff ★★
()
Ответ на: комментарий от true

Ха, вот я только что дозванивался полчаса до него, пока дозванивался само все заработало. В рашке все кто не начальник - быдло и на на кого ты не наедешь.

Oceanborn
()
Ответ на: комментарий от Oceanborn

начальнеги тоже плохо. лучче без начальнегов.

OzOx
()

я так понимаю достаточно отснифать свои исходящие и направить их на тот же интерфейс.
завтра буду ковыряться с этим:

[ N] net-libs/vanessa-socket (0.0.7):  Simplifies TCP/IP socket operations.
[ N] net-misc/datapipe (1.0):  bind a local port and connect it to a remote socket
[ N] net-misc/netpipes (4.2):  netpipes - a package to manipulate BSD TCP/IP stream sockets
[ N] net-misc/socat (2.0.0_beta1):  Multipurpose relay (SOcket CAT)
[ N] net-misc/sock (1.1):  A shell interface to network sockets
[ N] net-misc/unix2tcp (0.8.2):  a connection forwarder that converts Unix sockets into TCP sockets

LowLevel
() автор топика

В принципе, imho, достаточно простой драйвер для ядра, позволит сделать это "тру решение". Как вариант можно повесится на netfilter-овский local output hook, и на всем исходящим sk_buff-ом (в это чудо, если ничего не поменялось за год последний), оборачиваются все исходящие пакеты), делать skb_clone, с последующей инжекцией копий в очередь отсылки (как это сделать, уже не помню). Драйвер будет буквально в 3 функции, 2 коротких (init_module/cleanup_module), и 1 - подлиннее, строчек 20. Это на вскидку.

fmj
()
Ответ на: комментарий от fmj

тогда уж развить: в /proc на каждый интерфейс вывесить что-то типа retransmit_count (по дефалту 0), где держать количество дополнительно отсылаемых пакетов. сильно не усложнит, а удобств -- в тыщщи раз больше.

berrywizard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.