【问题标题】:Autoit tcp connection to serverAutoit tcp 连接到服务器
【发布时间】:2016-08-26 16:36:10
【问题描述】:

我对 TCP 连接很陌生,对 Autoit 也很陌生。

我正在尝试连接到我管理的游戏服务器,以便接收服务器数据(在线玩家、聊天日志等)并在需要时向服务器发送 TelNet 命令(禁止玩家、踢玩家等)

查看 Autoit 的 TCP 功能,我只看到 IP 和端口信息的地方,但服务器有一个管理员密码,我不知道如何将密码合并到混合中。

如果我能深入了解如何连接到服务器和接收数据,我将不胜感激。

【问题讨论】:

    标签: tcp telnet autoit


    【解决方案1】:

    使用 IP:Port 连接,然后与服务器进行通信

    这是我编写的一个旧脚本,用于通过 telnet 连接到我的路由器以更改 IP。

    TCPStartup()
    TrayTip("Changing IP adress!", "...connecting...", 10)
    $router_IP = "192.168.1.1"
    $port = "23" ; standard telnet port
    
    $username = "admin"
    $pass = "****"
    
    
    Dim $ConnectedSocket = -1
    $ConnectedSocket = TCPConnect($router_IP, $port)
    If $ConnectedSocket = -1 Then
        TrayTip("Changing IP adress!", "Error! Cant connect!", 10)
        Sleep(3000)
        Exit
    EndIf
    TrayTip("Changing IP adress!", "Connected.", 10)
    
    $old = ""
    
                $ret = TCPSend($ConnectedSocket, $username & @LF)
                Sleep(2000)
                $ret = TCPSend($ConnectedSocket, $username & @LF)
                Sleep(2000)
                $ret = TCPSend($ConnectedSocket, $username & @LF)
                $old &= TCPRecv($ConnectedSocket, 2048)
                TrayTip("Changing IP address!", $old, 10)
                Sleep(2000)
                $ret = TCPSend($ConnectedSocket, $pass & @CRLF)
                $old &= TCPRecv($ConnectedSocket, 2048)
                TrayTip("Changing IP adress!", $old, 10)
                Sleep(2000)
                $ret = TCPSend($ConnectedSocket, "sh" & @CRLF)
                $old &= TCPRecv($ConnectedSocket, 2048)
                TrayTip("Changing IP adress!", $old, 10)
                Sleep(3000)
                $ret = TCPSend($ConnectedSocket, "ifconfig nas_8_35 down" & @CRLF)
                $old &= TCPRecv($ConnectedSocket, 2048)
                TrayTip("Changing IP adress!", $old, 10)
                Sleep(10000)
                $ret = TCPSend($ConnectedSocket, "ifconfig nas_8_35 up" & @CRLF)
                $old &= TCPRecv($ConnectedSocket, 2048)
                TrayTip("Changing IP adress!", $old, 10)
                Sleep(2000)
                $ret = TCPSend($ConnectedSocket, "exit" & @CRLF)
                $old &= TCPRecv($ConnectedSocket, 2048)
                TrayTip("Changing IP adress!", $old, 10)
                Sleep(2000)
                $ret = TCPSend($ConnectedSocket, "exit" & @CRLF)
                $old &= TCPRecv($ConnectedSocket, 2048)
                TrayTip("Changing IP adress!", $old, 10)
                Sleep(5000)
    

    不记得为什么我将用户名发送了 3 次... 另外,由于您是新手,因此可以从以下位置开始:

    Autoit for absolute beginners

    Autoit 1-2-3

    Autoit Tcp examples and scripts

    TELNET

    祝你好运!

    【讨论】:

    • 另外,我忘了提一下,您可以使用 cmd.exe 手动通过 telnet 登录,然后检查并写下您需要执行的所有命令。然后使用 TCP 在 autoit 中复制它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 2020-09-17
    • 2018-11-24
    • 2017-02-24
    • 1970-01-01
    • 2019-12-19
    相关资源
    最近更新 更多