اذهب إلى المحتوى

السؤال

نشر

أريد رمز Visual Basic لإعادة تشغيل جهاز التوجيه برمجيًا ، يرجى ملاحظة أن http://192.168.1.1 لم يتم فتحه على المتصفحات الحديثة ، وسأضع الكود الخاص بي في حالة عندما يتحقق من تشغيله لإعادة تشغيل جهاز التوجيه الخاص بي ، هل يمكن لأي شخص أن يزودني برمز فعال؟ لقد جربت العديد من الرموز ولكن لم أعيد التشغيل

Recommended Posts

  • 0
نشر

يعتمد الرمز المستخدم لإعادة تشغيل جهاز التوجيه على نوع وموديل الجهاز، والرمز مختلف لكل جهاز، لذلك سأقدم لك نموذجًا عامًا يمكن أن يعمل على بعض الأجهزة، ولكن يجب عليك التأكد من أن الأمر يتوافق مع جهاز التوجيه الخاص بك.

وقبل أن نستمر، يجب التأكد من أن جهاز التوجيه لديك يدعم إعادة التشغيل البعيدة عن طريق بروتوكولات مثل SNMP أو Telnet أو SSH، وإذا كان الجهاز لا يدعم تلك الخاصية، فلن يكون من الممكن تنفيذ إعادة التشغيل برمجيًا.

وفيما يلي نموذج يستخدم بروتوكول Telnet لإعادة تشغيل جهاز التوجيه، ولاحظ أنه يجب تعيين معلومات الاتصال الصحيحة لجهاز التوجيه، بما في ذلك عنوان IP واعتمادات الدخول (اسم المستخدم وكلمة المرور) إذا كان لازم.

Imports System.Net.Sockets
Imports System.Text

Public Class Form1

    Private Sub RebootRouter()
        Dim ipAddress As String = "192.168.1.1" ' تغيير هذا إلى عنوان IP الصحيح لجهاز التوجيه الخاص بك
        Dim port As Integer = 23 ' افتراضياً يكون منفذ Telnet هو 23
        Dim username As String = "اسم_المستخدم" ' تغيير هذا إلى اسم المستخدم الصحيح إذا كان اللازم
        Dim password As String = "كلمة_المرور" ' تغيير هذا إلى كلمة المرور الصحيحة إذا كان اللازم

        Try
            Dim client As New TcpClient(ipAddress, port)
            Dim stream As NetworkStream = client.GetStream()
            Dim data As Byte() = New Byte(1024) {}

            Dim bytes As Int32 = stream.Read(data, 0, data.Length)
            Dim response As String = Encoding.ASCII.GetString(data, 0, bytes)

            If response.Contains("login:") Then
                Dim login As Byte() = Encoding.ASCII.GetBytes(username + vbCr)
                stream.Write(login, 0, login.Length)

                bytes = stream.Read(data, 0, data.Length)
                response = Encoding.ASCII.GetString(data, 0, bytes)

                If response.Contains("Password:") Then
                    Dim pass As Byte() = Encoding.ASCII.GetBytes(password + vbCr)
                    stream.Write(pass, 0, pass.Length)

                    bytes = stream.Read(data, 0, data.Length)
                    response = Encoding.ASCII.GetString(data, 0, bytes)

                    If response.Contains(">") Then
                        Dim reboot As Byte() = Encoding.ASCII.GetBytes("reboot" + vbCr)
                        stream.Write(reboot, 0, reboot.Length)
                    End If
                End If
            End If

            stream.Close()
            client.Close()
        Catch ex As Exception
            ' ادرج هنا رمزًا للتعامل مع أي استثناء قد يحدث أثناء تنفيذ عملية إعادة التشغيل
        End Try
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        RebootRouter()
    End Sub
End Class

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...