Linux 下面有封装好的 PPP 协议库吗??C/PYTHON 都行。。

2014-10-08 11:32:21 +08:00
 paw
学校网络认证换成深澜了,pppoe + UDP心跳 模式的,用户名向后移位然后中间加\r\n换行符,不能直接用现成的拨号工具

windows下,有RASDIAL系列API,可以自己去写拨号程序,花两天时间写了个程序,拨号+心跳,完工能用了,开ICS共享给宿舍,但是电脑要一直开着 蛋疼。。

想写到路由器上去,但是Linux下拨号是PPPD,PPPD本身貌似不能给他带换行的参数,不管是直接命令行,还是pppd file /xxx/xxx

看下PPPD实现,是调用PPPK做的,PPPD负责和PPPK交互解析处理PPPOE的各种拨号协议包,拨号完成后,交给PPPK做链路数据转发

感觉是,D负责协议栈,K只负责数据传输,PPPD完整的实现了PPP协议栈。。。。蛋疼

问题的是,ppp我不懂,现读PPPD代码也太慢了,有木有现成的封装好的库,可以直接像win下面RASDIAL那样拿来拨号,不用理会具体的PPP协议??

谢谢各位了。。
5286 次点击
所在节点    程序员
14 条回复
clino
2014-10-08 11:42:01 +08:00
代为google一下只看到一个 http://sourceforge.net/projects/ppp4py/ 说只是个参考实现
paw
2014-10-08 11:51:28 +08:00
@clino 哦 好吧 感谢,“ppp python” 关键词Google下 发现一大堆,,,囧
icedx
2014-10-08 12:23:41 +08:00
@aheadlead
来和人家学学~
realityone
2014-10-08 12:54:20 +08:00
tplink老版的其实可以发回车符的。。
aheadlead
2014-10-08 15:06:54 +08:00
@icedx 怎么...
我只是不喜欢中国电信 寝室网络早ok了
icedx
2014-10-08 15:19:36 +08:00
@aheadlead (趴
lizheming
2014-10-08 15:21:38 +08:00
开网页登录了么,如果有的话就简单很多了…
paw
2014-10-08 16:36:39 +08:00
@lizheming 木有~ 有web的话我还纠结个毛线啊,直接插路由了

@realityone 就算TP老固件能带回车, 你还需要一台电脑/树莓 开着给它发心跳啊


@icedx
@aheadlead 你们这是什么梗??
lizheming
2014-10-08 16:45:08 +08:00
@paw http://blog.5istar.net/archives/357
https://sskaje.me/2009/04/srun-3000-key.html
好吧,那我只能给一些以前我找的资料给你当参考了OwQ Good Luck~
billlee
2014-10-08 17:12:47 +08:00
pppd 的身份认证处理在 upap.c: upap_authwithpeer 和 chap-new.c:chap_respond 里面,如果只是处理了用户名,应该只要改这两个函数中的一个就行了。
paw
2014-10-08 17:47:22 +08:00
@lizheming 恩,非常感谢了~


@billlee 跪拜大牛,看来你读过PPPD代码,我刚把ddwrt的pppd目录svn co 下来,试试能改不,不懂的话还at你求教啊~
icedx
2014-10-08 21:04:44 +08:00
@paw 参见每日的天黑以后
julyclyde
2014-10-10 11:58:18 +08:00
协议传输必须在内核啊。还涉及到虚设备的问题呢
realityone
2014-10-11 12:59:55 +08:00
@paw 其实吧。。全程心跳的话服务器消耗是很大的。。
大部分都是心跳几分钟就完了。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/137546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX