Реализация стека Python TCP

Существует большое сообщение здесь о различиях между двумя от члена команды IIS.

Один протест, которому я советовал бы, состоит в том, что для WebForms, необходимо быть осторожными при использовании Маршрутизации. Я записал демонстрационную реализацию того, как Вы использовали бы маршрутизация с WebForms, который обращается к этим проблемам и надо надеяться помогает ответить на Ваш вопрос.

8
задан David Underhill 17 October 2009 в 00:50
поделиться

5 ответов

Вы не говорите, на какой платформе вы работаете, но если вы работаете на Linux, я бы открыл интерфейс tun / tap и получил IP-пакеты обратно в ядро ​​в качестве реального сетевого интерфейса, чтобы ядро ​​могло делать все эти хитрые вещи TCP.

Вот как (например) OpenVPN работает - он получает необработанные IP-пакеты по UDP или TCP и туннелирует их обратно в ядро ​​через интерфейс tun / tap.

Я думаю, что теперь есть интерфейс tun / tap для Windows, который был разработан для порта OpenVPN в Windows.

7
ответ дан 5 December 2019 в 17:38
поделиться

Я знаю, что это напрямую не связано с Python, но если вы хотите выполнять тяжелую сетевую обработку, вам следует рассмотреть Erlang вместо Python. Просто предложение ... вы всегда можете попробовать сделать это с Twisted ... если вы любите приключения (и у вас много времени на вашей стороне); -)

1
ответ дан 5 December 2019 в 17:38
поделиться

Возможно, вы сможете использовать модуль ctypes для импорта lwip и его повторного использования.

0
ответ дан 5 December 2019 в 17:38
поделиться

Взглянув на Scapy , похоже, что он может справиться с этими низкоуровневыми ситуациями. Я сам не использовал его, поэтому не могу подтвердить, что он выполняет то, что вы объяснили; Я только просмотрел документацию.

2
ответ дан 5 December 2019 в 17:38
поделиться

Если вы уже настроены на использование программного обеспечения на другом конце сокета, которое пересылает вам TCP-пакеты, то, возможно, TCPWatch покажет вам, как получить SYN-пакеты. SCAPY, безусловно, отлично подходит для отправки именно тех пакетов, которые вам нужны, но я не уверен, что он будет работать как прокси.

http://hathawaymix.org/Software/TCPWatch

Однако, если вы не привязаны к тому, что находится на отправляющем конце, затем рассмотрите возможность использования Twisted Conch или Paramiko для перенаправления SSH. Даже если вам не нужно шифрование, вы все равно можете использовать его с blowfish, который мало влияет на ваш процессор. Это не означает, что вам нужен Conch на другом конце, поскольку SSH стандартизирован, поэтому любое программное обеспечение SSH должно работать. В мире SSH это обычно называется «перенаправление портов». и люди используют терминальный клиент SSH для входа на сервер SSH и настройки туннеля переадресации портов. Конч и Парамико позволяют встроить это в приложение Python, так что нет необходимости в терминальном клиенте SSH.

0
ответ дан 5 December 2019 в 17:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: