Tuesday, September 25, 2012

Cara Membuat Telnet via VB.net dengan plink.exe

Untuk melakukan telnet via VB.net maka dibutuhkan aplikasi tambahan, yang saya gunakan adalah plink.exe
Plink.exe adalah interface command-line dari putty. Putty sendiri adalah aplikasi under OS Windows yang digunakan untuk SSH, Telnet, rlogin atau rcpt. Untuk mereka yang bergelut dengan network tentunya tidak asing dengan putty.

Plink.exe dapat didownload pada link berikut:
Plink-download

Untuk koneksi VB.net ke plink.exe untuk melakukan telnet, syntax nya adalah sbb:
Pada kode dibawah IP yang akan di telnet adalah 192.168.1.1, dengan user: userku





'~~> mendefine proses   
Dim myprocess As New Process
Dim StartInfo As New System.Diagnostics.ProcessStartInfo
Dim ip As String

'~~> ip yang akan di telnet
ip = "192.168.1.1"
'~~> arahkan pada file plink.exe
StartInfo.FileName = "C:\Utility\plink.exe"
StartInfo.CreateNoWindow = True
StartInfo.WindowStyle = ProcessWindowStyle.Normal
StartInfo.RedirectStandardInput = True
StartInfo.RedirectStandardOutput = True
'~~> dibutuhkan untuk redirect
StartInfo.UseShellExecute = False
myprocess.StartInfo = StartInfo
'~~> melakukan perintah telnet dengan user
StartInfo.Arguments = "-telnet " + ip + " -l userku"
myprocess.Start()


Lalu kode berikut adalah untuk stream proses input dan outputnya, saya gunakan sleep untuk jaga-jaga jika koneksi agak lemot heheheh.
Dan perintah yang akan dieksekusi pada telnet saya contohkan  adlaah memunculkan ip address router mikrotik.
Lalu menyimpan hasilnya pada file txt, dicontohkan file txt ada di C:\cobatelnet\ dengan nama file hasil.txt (file sudah dibuat dan dibiarkan kosong saja.)


Dim SR As System.IO.StreamReader = myprocess.StandardOutput
Dim SW As System.IO.StreamWriter = myprocess.StandardInput

Threading.Thread.Sleep(3000)
'~~> password untuk telnett
SW.WriteLine("passwordku")
Threading.Thread.Sleep(20000)
'~~> perintah memunculkan ip adress pada command line mikrotik
SW.WriteLine("ip address print")
Threading.Thread.Sleep(3000)
'~~> keluar telnet
SW.WriteLine("quit")

'~~> menyimpan hasil pada file txt
Dim objWriter As New System.IO.StreamWriter("C:\cobatelnet\hasil.txt")
objWriter.Write(SR.ReadToEnd)
'~~> clean up dan closing
objWriter.Close()
SW.Close()
SR.Close()

No comments:

Post a Comment