Simple Port checker

slackware | Κυρ, 09/13/2015 - 17:44 | 2'

Καλησπέρα,

Έχω καιρό να γράψω οπότε είπα να γράψω κάτι χρήσιμο.

Είναι αρκετές φορές που θέλουμε να ελέξουμε αν μια συγκεκριμένη πόρτα ,πχ η 80 είναι ανοιχτή και αν ναι αν δέχεται συνδέσεις.

Εδω θα δούμε ένα κομμάτι κώδικα γραμμένο σε C# ο οποίος τρέχει σε Linux & Windows.

using System;
using System.Net.Sockets;
using System.Collections;
using System.Collections.Generic;

namespace ms_ping
{
	class MainClass
	{
		public static void Main (string[] args)
		{

			try{
				string host=args[0];
				int port=Int32.Parse(args[1]);
				check_ports(host, port);
			}
			catch( Exception e ){
				Console.WriteLine ("Usage: ms_ping <hostname> <port> \n",e);
			}
		}

		public static void check_ports(string hostname, int Oport)
		{
			TcpClient tcpClient = new TcpClient();

			try {
				tcpClient.Connect(hostname,Oport);
				Console.WriteLine("Port {0} is open on host {1}", Oport, hostname);
				Console.WriteLine("Press any key to quit");
				Console.ReadLine ();
			} catch (Exception) {
				Console.WriteLine("Port {0} is closed on host {1}",Oport, hostname);
				Console.WriteLine("Press any key to quit");
				Console.ReadLine ();
			}
		}
	}
}
[email protected]:~/Programming/C#/ms_ping/ms_ping$ ./ms_ping.exe localhost 80
Port 80 is open on host localhost
Press any key to quit

[email protected]:~/Programming/C#/ms_ping/ms_ping$

Compile γινεται με την παρακάτω εντολή

gmcs -sdk:2 -target:exe -out:ms_ping.exe Program.cs

 

Δώσε αστέρια!