V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
paw
V2EX  ›  程序员

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

  •  
  •   paw · 2014-10-08 11:32:21 +08:00 · 5271 次点击
    这是一个创建于 3703 天前的主题,其中的信息可能已经有所发展或是发生改变。
    学校网络认证换成深澜了,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协议??

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

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


    @icedx
    @aheadlead 你们这是什么梗??
    lizheming
        9
    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
        10
    billlee  
       2014-10-08 17:12:47 +08:00
    pppd 的身份认证处理在 upap.c: upap_authwithpeer 和 chap-new.c:chap_respond 里面,如果只是处理了用户名,应该只要改这两个函数中的一个就行了。
    paw
        11
    paw  
    OP
       2014-10-08 17:47:22 +08:00
    @lizheming 恩,非常感谢了~


    @billlee 跪拜大牛,看来你读过PPPD代码,我刚把ddwrt的pppd目录svn co 下来,试试能改不,不懂的话还at你求教啊~
    icedx
        12
    icedx  
       2014-10-08 21:04:44 +08:00
    @paw 参见每日的天黑以后
    julyclyde
        13
    julyclyde  
       2014-10-10 11:58:18 +08:00
    协议传输必须在内核啊。还涉及到虚设备的问题呢
    realityone
        14
    realityone  
       2014-10-11 12:59:55 +08:00
    @paw 其实吧。。全程心跳的话服务器消耗是很大的。。
    大部分都是心跳几分钟就完了。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5468 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 07:43 · PVG 15:43 · LAX 23:43 · JFK 02:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.