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

写了一个采集 google ip 的程序

  •  
  •   kqz901002 · 2014-06-14 11:52:44 +08:00 · 8769 次点击
    这是一个创建于 3811 天前的主题,其中的信息可能已经有所发展或是发生改变。
    fork 别人的项目,原来用w3m
    现在主程序用的requests
    目前只能输出ip,在输出domain name结果是None

    各位大神帮忙看看

    https://github.com/kqz901002/m2conf
    第 1 条附言  ·  2014-06-14 15:16:14 +08:00
    现在能过滤字符并且写入新文件了,大家帮忙测试吧
    第 2 条附言  ·  2014-06-18 23:28:30 +08:00
    多线程部分已经完善!
    51 条回复    2014-07-10 16:30:25 +08:00
    dong3580
        1
    dong3580  
       2014-06-14 11:59:55 +08:00 via Android
    手机暂时打开太慢了,想提前知道一下,原理是不断ping还是从某个站采集?
    licell
        2
    licell  
       2014-06-14 12:03:30 +08:00
    这种项目自己用就行了,难道你希望所有ip都被某某看到然后全部被封?
    kqz901002
        3
    kqz901002  
    OP
       2014-06-14 12:03:37 +08:00   ❤️ 1
    @dong3580 不是ping google有官方的ip段的,对ip段发出requests.Request https 请求,会有ssl错误,这个错误会有证书支持的domain name,然后过滤这个字符
    kqz901002
        4
    kqz901002  
    OP
       2014-06-14 12:04:49 +08:00   ❤️ 1
    @licell ip段是公开的 google官网和http://bgp.he.net/AS15169#_prefixes
    都有
    dong3580
        5
    dong3580  
       2014-06-14 12:06:11 +08:00 via Android
    @kqz901002
    3KS,了解了。
    kamisamayo
        6
    kamisamayo  
       2014-06-14 19:01:09 +08:00
    LZ你好= =我不会程序但是试着在python里面运行了你的代码,然后显示这个(
    Traceback (most recent call last):
    File "C:\Users\Administrator\Documents\新建文本文档.py", line 6, in <module>
    from GCC import net_address_set
    ImportError: No module named GCC)

    总之一个大前提是我没怎么学过程序,所以你们认为的基础不太懂= = 能否请大概指点一二
    xia0chun
        7
    xia0chun  
       2014-06-14 19:04:13 +08:00
    @kamisamayo 提示你的电脑没有安装GCC编译器
    kqz901002
        8
    kqz901002  
    OP
       2014-06-14 19:08:54 +08:00 via Android   ❤️ 2
    @kamisamayo 你是git clone的么,跟gcc没关系,没有git就下载整个包下来解压
    kamisamayo
        9
    kamisamayo  
       2014-06-14 19:20:42 +08:00
    @kqz901002
    这次是直接下载解压,然后打开set_goagent3.py
    运行后提示Traceback (most recent call last):
    File "C:\Users\Administrator\Downloads\00000000\m2conf-master\set_goagent3.py", line 9, in <module>
    import configparser
    ImportError: No module named configparser

    ......
    kqz901002
        10
    kqz901002  
    OP
       2014-06-14 19:25:19 +08:00   ❤️ 1
    @kamisamayo python2 执行set_goagent.py那个 你执行的是python3的 正在完善
    kqz901002
        11
    kqz901002  
    OP
       2014-06-14 19:25:48 +08:00   ❤️ 1
    @kamisamayo 仔细读readme啊
    phyng
        12
    phyng  
       2014-06-14 19:27:48 +08:00   ❤️ 1
    @kamisamayo
    @kqz901002 目测等下还要报requests错误,可以打包下给别人用 - -
    kamisamayo
        13
    kamisamayo  
       2014-06-14 19:49:35 +08:00
    @phyng 已报错= =跑去下载然后有两个文件不知道放哪里,其中一个文件安装后没反应了。。
    cbsw
        14
    cbsw  
       2014-06-14 20:38:05 +08:00
    之前还琢磨着写一个的,看来现在又为自己偷懒找到好借口了
    pango
        15
    pango  
       2014-06-14 20:57:17 +08:00
    生成的这个new_host_file里面的内容怎么用呢?
    kqz901002
        16
    kqz901002  
    OP
       2014-06-14 21:20:53 +08:00   ❤️ 1
    @pango goagent的iplist或者修改hosts
    kqz901002
        17
    kqz901002  
    OP
       2014-06-14 21:22:09 +08:00   ❤️ 1
    @phyng 这个如何打包?你发起pull吧
    lll9p
        18
    lll9p  
       2014-06-14 22:38:21 +08:00
    密切关注,,谢谢~
    webfury
        19
    webfury  
       2014-06-16 02:43:08 +08:00
    自己VPS上可以跑?输出结果在哪里?
    kqz901002
        20
    kqz901002  
    OP
       2014-06-16 08:20:37 +08:00 via Android   ❤️ 1
    @webfury 新的文件
    xinhugo
        21
    xinhugo  
       2014-06-16 11:34:57 +08:00
    对我来说,最繁琐的,是手工检查HTTPS证书。
    kqz901002
        22
    kqz901002  
    OP
       2014-06-16 13:05:59 +08:00   ❤️ 1
    @xinhugo 这里是自动检查的
    xinhugo
        23
    xinhugo  
       2014-06-16 22:57:57 +08:00
    好用,特别是能检查HTTPS证书这一功能。
    kqz901002
        24
    kqz901002  
    OP
       2014-06-16 23:37:47 +08:00
    @kamisamayo 你现在试试。。我已经把bug修复的差不多了。osx/windows/linux基本只要安装python就能运行,
    运行之前读取readme 或者 通过-h 获取帮助
    webfury
        25
    webfury  
       2014-06-17 17:08:15 +08:00
    这个是要安装goagent先的吧?!运行出错
    kqz901002
        26
    kqz901002  
    OP
       2014-06-17 17:44:29 +08:00
    @webfury 不需要啊。什么错误?
    kqz901002
        27
    kqz901002  
    OP
       2014-06-18 23:28:59 +08:00
    @webfury 你现在运行试试呢?
    deddey
        28
    deddey  
       2014-06-19 13:49:31 +08:00
    出现很多这样的错误,python2.7.7 64bit,windows8.1 64bit,最后没有得到任何的地址

    Exception in thread Thread-216952:
    Traceback (most recent call last):
    File "c:\Python27\lib\threading.py", line 810, in __bootstrap_inner
    self.run()
    File "set_goagent.py", line 252, in run
    a = get_host(self.ip_address)
    File "set_goagent.py", line 59, in get_host
    ping_list = ping.quiet_ping(ip_addr)
    File "C:\Users\u\Desktop\goagent-goagent-44210f6\local\ping.py", line 250, in
    quiet_ping
    delay = do_one(dest_addr, timeout, psize)
    File "C:\Users\u\Desktop\goagent-goagent-44210f6\local\ping.py", line 195, in
    do_one
    my_socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, icmp)
    File "c:\Python27\lib\socket.py", line 187, in __init__
    _sock = _realsocket(family, type, proto)
    error: [Errno 10013]
    kqz901002
        29
    kqz901002  
    OP
       2014-06-19 14:44:53 +08:00   ❤️ 1
    @deddey 我把thread limit 降低到800 你试试?如果有错误就直接停止
    deddey
        30
    deddey  
       2014-06-19 16:59:06 +08:00
    @kqz901002 还是一样的问题
    Fdkqeo
        31
    Fdkqeo  
       2014-06-19 18:36:56 +08:00
    run 4012.61854776 s , 得到了一个2294行的文件。
    good_ipaddr从可怜的个位数增加到了200多个。
    kqz901002
        32
    kqz901002  
    OP
       2014-06-19 21:07:14 +08:00
    @deddey 这个我就不知道了 我在osx和win8都测试过了
    deddey
        33
    deddey  
       2014-06-20 14:30:41 +08:00
    @kqz901002 Sorry,是我的问题。没有注意到需要在管理员账号下使用
    昨天在ubuntu上试过,能够得到地址,不过有些错误提示
    今天在windows8.1下很正常

    不过每次运行网络不好的时候耗时很长,而且得到的ip地址是不是太多了,有那么几十个保证goagent能运行就行了,没有必要把所有的ip地址都揪出来
    kqz901002
        34
    kqz901002  
    OP
       2014-06-20 15:01:26 +08:00
    @deddey 你可以到GGC.py里面去注释掉
    kamisamayo
        35
    kamisamayo  
       2014-06-22 15:08:14 +08:00
    想问一下, go agent里面这样配置可以么- -虽然我这样改了之后可以用了...可是速度龟速...
    就是把所有后面=google的ip地址,替换进去,cn和hk都一个地址...

    大致形式如下....
    [iplist]
    google_cn =74.125.22.114|74.125.21.114|74.125.22.31|74.125.21.188|74.125.21.31|74.125.22.251
    google_hk =www.google.com|mail.google.com|www.google.com.hk|www.google.com.tw|www.l.google.com
    google_hk = 74.125.22.114|74.125.21.114|74.125.22.31|74.125.21.188|74.125.21.31|74.125.22.251
    google_talk =talk.google.com|talk.l.google.com|talkx.l.google.com
    google_ipv6 = 2404:6800:4005:c00::64|2404:6800:4005:c00::65|2404:6800:4005:c00::5e|2404:6800:4005:c00::67|2404:6800:4005:c00::2f
    google_tw =www.google.com.tw|www.google.com.sg|www.google.co.jp|www.google.sg|www.google.cat|mail.google.com|mail.l.google.com
    kqz901002
        36
    kqz901002  
    OP
       2014-06-22 16:53:20 +08:00 via Android
    @kamisamayo 配置hk就可以了 cn不要配置,而且要将原来的hk注释
    88250
        37
    88250  
       2014-06-24 10:50:50 +08:00
    已经使用,大赞一个!
    kamisamayo
        38
    kamisamayo  
       2014-07-07 12:42:56 +08:00
    LZ还在吗!我想问生成的结果最后有个[iplist]
    google_hk =
    google_talk =

    后面是空的///这个怎么回事
    kqz901002
        39
    kqz901002  
    OP
       2014-07-07 13:58:26 +08:00   ❤️ 1
    @kamisamayo google_talk应该没什么用的~~
    kamisamayo
        40
    kamisamayo  
       2014-07-07 15:13:49 +08:00
    @kqz901002 生成的文件里面不是有一堆地址吗,替换go agent里面的iplist,我试了几个都不行,那个列表里面那些是可以替换的IP,似乎不是全部都行...
    kqz901002
        41
    kqz901002  
    OP
       2014-07-07 16:10:40 +08:00
    @kamisamayo 只需要替换google_hk就ok
    kamisamayo
        42
    kamisamayo  
       2014-07-07 17:22:48 +08:00
    @kqz901002 google_hk=的结果为空,重新请求了几次返回结果还是空..
    kqz901002
        43
    kqz901002  
    OP
       2014-07-07 17:31:39 +08:00
    @kamisamayo 去GGC.py去掉ip段的注释就ok了...我没有打开所有的ip
    kqz901002
        44
    kqz901002  
    OP
       2014-07-07 18:00:13 +08:00   ❤️ 1
    @kamisamayo 的确有问题,已经修复好了
    kamisamayo
        45
    kamisamayo  
       2014-07-07 18:09:02 +08:00
    @kqz901002 十分感谢,测试之后go agent能够正常使用了。
    poke707
        46
    poke707  
       2014-07-10 10:45:51 +08:00
    ubuntu 13.04,python 2.7
    sudo python set_goagent.py出错:
    https://gist.github.com/5f8a34a2f3e3cdeea569
    kqz901002
        47
    kqz901002  
    OP
       2014-07-10 11:43:45 +08:00
    @poke707 抱歉 没有在ubuntu(linux)测试过 只在osx和windows 测试通过, 等有空我装个虚拟机测试一下吧
    kqz901002
        48
    kqz901002  
    OP
       2014-07-10 14:58:40 +08:00
    @poke707 现在应该linux不会执行ping了,应该是ping lib 有问题..
    poke707
        49
    poke707  
       2014-07-10 16:23:52 +08:00
    @kqz901002 感谢更新,现在可以跑出结果了,不过结果里每项都是delay: 0ms, lost: 0%感觉不太正常..正常的是如何?
    kqz901002
        50
    kqz901002  
    OP
       2014-07-10 16:29:51 +08:00
    @poke707 因为ping在ubuntu不工作 我就让linux的ping值为0,0,0
    kqz901002
        51
    kqz901002  
    OP
       2014-07-10 16:30:25 +08:00
    @poke707 这个不影响ip的连通性..没关系的..ping的话只是看看延迟多高的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:44 · PVG 04:44 · LAX 12:44 · JFK 15:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.