美文网首页
TeraTerm Macro确认网段存活主机

TeraTerm Macro确认网段存活主机

作者: 看花东上洛阳陌 | 来源:发表于2018-11-27 09:21 被阅读0次

    用途

    批量ping某网段内全部IP,然后输出arp table确认有哪些主机存活

    工具

    TeraTerm Mcaro
    Python

    方法

    Python创建ping命令list
    TTL逐行读取并实行,最终输出show arp部分的log

    代码

    ※写在[ ]中的是可变量

    python创建命令集
    i = 2
    filename = 'command.txt'
    with open(filename,'a') as file_object:
         while i < 255:
             file_object.writelines("ping [前24位ip]" +  str(i) + " routing-instance [名称] count 1 no-resolve rapid" + "\n")
             i = i + 1
    

    ※对于/24以外的网段,需要修改i的初始和最终值

    TTL
    ;定数
    HOSTADDR = '[网关IP]'
    USERNAME = '[用户ID]'
    PORTNUM = '22'
    
    ;RTにログイン
    msg = 'Enter password for user '
    strconcat msg USERNAME
    passwordbox msg 'Get password'
    
    strconcat HOSTADDR ':portnum /ssh /auth=password /user='
    strconcat HOSTADDR username
    strconcat HOSTADDR ' /passwd='
    strconcat HOSTADDR inputstr
    
    connect HOSTADDR
    
    ;ログイン遅いから待つ
    pause 10
    
    ;ファイル読み込み&実行
    fileopen FH 'C:\Users\aaa\Desktop\command.txt' 0
    
    sendln 'ping [网段最初的IP] routing-instance [名称] count 1'
    
    :loopstart
    
    filereadln FH line
    
    if result<>0 then
        goto loopend
    else
        wait '1 packets transmitted'
        sendln line
        goto loopstart
    endif
    
    :loopend
    
    fileclose FH
    
    ;arpログ出力
    wait '[网段最后的IP] ping statistics'
    
    logopen 'C:\Users\aaa\Desktop\log.txt' 0 0
    
    sendln 'show arp interface [接口名]|no-more'
    
    pause 1
    
    ;arp命令不显示自身mac与ip所以
    sendln 'show interface [接口名]|no-more'
    
    pause 1
    
    logclose
    
    closett
    
    messagebox 'Successfully Completed' 'Hey'
    
    end
    
    

    关于TTL的一点解说

    都是自己纠结过的地方。。

    • result在每个命令中代表不同的含义,并且都在reference中有注明,每次使用时都需要确认。0 1等数字同理
    • 语法中的filehandle是“代表整个文件”的变量,相当于在fileopen命令中给某个文件赋予一个标签,起什么名儿无所谓,自己好懂也方便书写即可,后续读取写入等操作都需要用这个标签来识别文件
    • 善用wait和pause,不然你的机器反应速度很可能跟不上程序运行速度。。。就会出现一些很魔幻的现象

    おわりに

    其实自己也觉得实现的方法很蠢了。。
    只有一下午的时间来写
    大部分都在读TTL的reference
    (中间还开了两小时不知所云的会)
    (而且TTL是真的傻白甜。。。)
    尽力了。。。
    不过从构思到完成的过程是真的很有意思呀( ' v ' )

    相关文章

      网友评论

          本文标题:TeraTerm Macro确认网段存活主机

          本文链接:https://www.haomeiwen.com/subject/uqhcqqtx.html