Gå til innhold

Hjelp med kode. Utlesning fra telnet


Anbefalte innlegg

Hei

 

Jeg er litt ny her men jeg prøver for det. Planen er å lage en slags overvåker. Den skal pinge et ipadresse med 10 eller 20 sek også skal den rapportere det inn. Innholdet skal ikke lagres i noe database. 

Har googlet litt men har ikke blitt særlig klok. Hvis den porten svarer så skal den få 1 hvis ikke så skal den få 0 i status. 

 

Har definert slik

 

namespace Handyman_Monitor
{
    public class TelNetResultat
    {
        public int Status { get; set; }
        public string Navn{ get; set; }
        public Char Ipserver { get; set; }
    }
}
 

 

Eksempel jeg har testet;

 

 TelNetResultat resultFromOneServer = new TelNetResultat() { Status = 1, Navn= "A1", Ipserver= '192.168.5.151' };
            results.Add(resultFromOneServer);
 
 
 
Kan jeg bruke noe sånt for å hente resultat fra telnet?

TcpClient telnet = new TcpClient("10.5.6.59", 23);
NetworkStream telnetStream = telnet.GetStream();
StreamReader input = new StreamReader(telnetStream);

Lenke til kommentar
Videoannonse
Annonse

Skjønner ikke hva du skal med Telnet for dette. Se heller på System.Net.NetworkInformation.Ping
 

private bool CheckOnce()
{
    using (Ping pingSender = new Ping())
    {
	const int pingTimeout = 1000;
	const int byteSize = 32;
	byte[] buffer = new byte[byteSize];

	PingReply pingReply = pingSender.Send(_ipAddress1, pingTimeout, buffer, _pingOptions);     // send an Internet Control Message Protocol (ICMP) echo message
	if (pingReply != null && pingReply.Status == IPStatus.Success)
	{
	    return true;
	}
    }
    return false;
}
Lenke til kommentar

Har sjekket.

 

Skrevet inn slik: Den kicker på IP. Det som er markert med fet skrift. Jeg får heller ikke testet skriptet pga feilen

using System.Windows.Forms;

     private void ScanPort()
        {
            string hostname = "192.168.5.153";
            int portno = 1300;
            IPAddress ipa = (IPAddress)Dns.GetHostAddresses(hostname)[0];
            try
            {
                System.Net.Sockets.Socket sock =
                        new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
                                                      System.Net.Sockets.SocketType.Stream,
                                                      System.Net.Sockets.ProtocolType.Tcp);
                sock.Connect(ipa, portno);
                if (sock.Connected == true) // Port is in use and connection is successful
                    MessageBox.Show("Port is Closed");
                sock.Close();
            }
            catch (System.Net.Sockets.SocketException ex)
            {
                if (ex.ErrorCode == 10061) // Port is unused and could not establish connection 
                    MessageBox.Show("Port is Open!");
                else
                    MessageBox.Show(ex.Message);
            }
        }

        private void bCheckServers_Click(object sender, EventArgs e)
        {
            List<TelNetResultat> results = new List<TelNetResultat>();
            // place code to fill list from telnet here
            TelNetResultat resultFromOneServer = new TelNetResultat() { Status = 1, Kunde = "1", Ipserver= "192.168.5.153" };
            results.Add(resultFromOneServer);

            TelNetResultat resultFromOneServer2 = new TelNetResultat() { Status = 2, Kunde = "1", Ipserver ="192.168.5.153" };
            results.Add(resultFromOneServer2);

            telNetResultatBindingSource.DataSource = results;
        }

Lenke til kommentar
  • 3 uker senere...

Har klart å få til dette.

Hvordan kan jeg få den til å kjøre telnet i Command prompt?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;




namespace Handyman_Monitor
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
        {

        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {

        }

        private void Start_Click(object sender, EventArgs e)
        {

        }

        private void pictureBox1_Click_1(object sender, EventArgs e)
        {

        }
        public static void ScanPort(ServerToTelNet oneServer)
        {
            string hostname = oneServer.HostName;
            int portno = 1300;
            IPAddress ipa = (IPAddress)Dns.GetHostAddresses(hostname)[0];
            try
            {
                System.Net.Sockets.Socket sock =
                        new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
                                                      System.Net.Sockets.SocketType.Stream,
                                                      System.Net.Sockets.ProtocolType.Tcp);
                sock.Connect(ipa, portno);
                if (sock.Connected == true) // Port is in use and connection is successful
                    MessageBox.Show("Port is Closed");
                sock.Close();
            }
            catch (System.Net.Sockets.SocketException ex)
            {
                if (ex.ErrorCode == 10061) // Port is unused and could not establish connection 
                    MessageBox.Show("Port is Open!");
                else
                    MessageBox.Show(ex.Message);
            }
        }

        private void bCheckServers_Click(object sender, EventArgs e)
        {
            List<TelNetResultat> results = new List<TelNetResultat>();
            // place code to fill list from telnet here
            TelNetResultat resultFromOneServer = new TelNetResultat() { Status = 1, Kunde = "Imtech", Ipserver= "192.168.5.151" };
            results.Add(resultFromOneServer);

            List<ServerToTelNet> seerverList = new List<ServerToTelNet>();
            seerverList.Add(new ServerToTelNet() { HostName = "192.168.5.153" });
            seerverList.Add(new ServerToTelNet() { HostName = "192.168.5.154" });
            seerverList.Add(new ServerToTelNet() { HostName = "192.168.5.155" });
            //
            //

            foreach (ServerToTelNet oneServer in seerverList)
            {
                ScanPort(oneServer);
            }

            TelNetResultat resultFromOneServer2 = new TelNetResultat() { Status = 2, Kunde = "Imtech", Ipserver ="192.168.5.151" };
            results.Add(resultFromOneServer2);

            telNetResultatBindingSource.DataSource = results;
        }




        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void telNetResultatBindingSource_CurrentChanged(object sender, EventArgs e)
        {

        }
    }

    
}




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;

namespace Handyman_Monitor
{
    public class TelNetResultat
    {
        public int Status { get; set; }
        public string Kunde { get; set; }
        public string Ipserver { get; set; }
       
    }

    public class ServerToTelNet
    {
        public string HostName { get; set; }
    }
}



Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...