Zastanawia mnie, czy jest możliwość wglądu i ew. edycji danych, które przychodzą do maszyny na danym porcie? Powiedzmy mamy port 22 (o ile dobrze pamiętam to coś związanego z html) i jeżeli jest po tej i po tej godzinie to kasujemy wszystkie dane, lub tylko te niechciane i przekazujemy je dalej, np. do przeglądarki. [diabel]
Próbowałem też znaleźć porty, które są otwarte, lecz zeskanowanie wszystkich portów (ok. 65000?) trwałoby dosyć długo :-D . Podam kod:
for (int i = 1; i <= MAX; i++)
{
try
{
/*Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //lub ProtocolType.IP
sock.Connect("localhost", i);*/
TcpClient client = new TcpClient();
client.BeginConnect("localhost", i, null, null);
Thread.Sleep(500);
if (!client.Connected)
throw new Exception();
client.EndConnect(null);
client.Close();
Console.WriteLine("Port {0} jest otwarty. Zostalo portow do skanowania: {1}. Znaleziono: {2}", i, MAX - i, lastIndex);
tablica[lastIndex] = i;
lastIndex++;
}
catch (Exception)
{
Console.WriteLine("Port {0} jest zamkniety. Zostalo portow do skanowania: {1}. Znaleziono: {2}", i, MAX - i, lastIndex);
}
}
Console.Write("\n\n\nTe porty sa otwarte: ");
foreach (int sock in tablica)
{
if(sock!=0)
Console.Write("{0}, ", sock);
}
Jest możliwe przyspieszenie tego procesu? Proszę o rozwianie moich wątpliwości. Jeżeli czytanie i modyfikowanie danych przychodzących i wychodzących na danych portach jest wykonalne, to mile widziane będą podpowiedzi. :-)
Pozdrawiam, Wronq