Модуль Python для PPPoE

Я пытаюсь подключить новый сеанс PPoE, отправить и получить некоторые данные и закрыть сеанс.

У меня есть модуль FOSS Python, который мне поможет?

Обратите внимание, что я нашел https://github.com/jamiesun/pyras , но, похоже, у него нет документации :-(


[Обновление] Я также нашел win32ras (по крайней мере, я нашел документацию; я еще не нашел ссылку для скачивания), которая кажется полезной, хотя и не очень документированной. Есть несколько примеров вокруг.

Я ищу здесь авторитетный ответ от кого-то, у кого есть опыт.

Я требую, чтобы рекомендуемый модуль Python мог выполнять полный PPPoE, включая настройку LCP и аутентификацию PADI/PDO и т. д. (я сильно подозреваю, что это обрабатывается службой Windows RAS, но требуется подтверждение).

Рекомендуемая документация также должна содержать адекватную документацию или примеры кода, показывающие, как можно отправить URL-адрес и получить данные через установленное им соединение PPPoE.

Поддержка Linux является бонусом, но не обязательным.

Ответы (2)

не силен в английском. вы можете импортировать модуль win32ras

просто так: импортировать win32ras

"""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""" Кстати, модуль pyras - это просто тест, автор сказал:的拨号和代理检测功能(采用了 shell xu的建议),放了一个简单的开源版,界面用的Tkinter,才200多〠砣

目前在win7 64下测试OK,xp还没有测试,问题应该不大。

https://github.com/jamiesun/pyras

并没有 实现 pppoe 协议 , 因为 我 发现 其 实用 实用 pywin32 可以 好 的 利用 系统 的 的 pppoe 功能 每 个 宽带 都 有 个 个 个 的 的 的 功能。 个 宽带 连接 有 个 个 个 个 个 个 用调 系统 系统 系统 系统 系统 系统 系统 系统 框 框 框 框 框 框 框 框 框 框 框了,很多参数可以自己配置。使用w32ras基本可以很好的控制。

另外 就 用 了 Pycap 和 dpkt 来 分析 检测 代理 , 发现 目的 ip 为 本机 的 http 请求 判断 为 代理 (不 本机 访问 自己 http 服务)

防止路由的功能我也想好了,和AAA服务器扩展下,每天都使用一个动态的用户名,用路由肯定ロ定

使用pyinstaller打包exe,一般人反编译也不太容易。"


[Обновление от OP] Я запустил это через Google переводчик и получил

Цель обучения - попробовать эксперимент, используя python для достижения клиента коммутируемого доступа pppoe для достижения базового обнаружения коммутируемого доступа и прокси (используя рекомендации оболочки xu), поставить простую версию интерфейса с открытым исходным кодом с Tkinter, Всего более 200 строк кода.

На данный момент в win7 64 тест ок, xp не проверял, проблем быть не должно.

И не достиг соглашения PPPOE, потому что я обнаружил, что на самом деле может быть хорошей функцией pppoe системы pywin32 использования. Каждое широкополосное соединение имеет файл конфигурации rasphone.pbk, пока копия конфигурации не будет передана в системное диалоговое окно для создания процесса, многие параметры могут быть настроены. Использование базового w32ras может быть очень хорошим управлением.

Другой - использовать анализ пакетов pycap и dpkt и обнаружение агента пакета, найденного ip, с целью http-запроса машины для определения агента (не влияет на доступ машины к их http-сервису)

Я также хочу предотвратить функцию маршрутизации и расширение сервера AAA, ежедневное использование динамического имени пользователя, с маршрутизацией, конечно, устал.

Используйте pyinstaller package exe, большинству людей декомпилировать не так просто.

Ответ от ОП, на всякий случай, если это поможет кому-то в будущем.

Я смоделировал открытие панели управления/сетевых подключений и создание нового соединения PPPoE, а затем смоделировал щелчок по значку.

rasPhoneBookPath="C:\\Users\\User\\AppData\\Roaming\\Microsoft\\Network\\Connections\\Pbk\\TemporaryRasphPhonebook.pbk"

Найдите соответствующий путь (Windows перемещает его в разных версиях, но это всегда .pbkфайл).

Напишите код Python, чтобы создать аналогичный файл. вот части которые я менял

with open(rasPhoneBookPath, "wt") as phoneBookFile :
    phoneBookFile.write('[' + pppoeSessionName + '\n')
    phoneBookFile.write("PhoneNumber=ACGC:AT+CGDCONT=' + bearerId + ',"IP","' + pppoeSessionName + '"\n")

и имитировать щелчок по значку с помощью

rasDialResult = os.system("rasdial " + "' + pppoeSessionName + '" + " /PHONEBOOK:" + rasPhoneBookPath)

Это работает для меня, на Windows 7