PDA

View Full Version : برنامه مدیریت کافی نت و قطع ارتباط سیستم کلاینت با اینترنت



amin_sltny
شنبه 03 اسفند 1392, 08:16 صبح
سلام بچه ها من برنامه کافی نتی دارم می سازم برای اینکه بتونم اینترنت کلاینت را تقطع یا وصل کنم از کدوم کدهای زیر استفاده کنم بهتره؟

کد اول:

ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "ipconfig";
info.Arguments = "/renew"; // or /release if you want to disconnect
info.WindowStyle = ProcessWindowStyle.Hidden;
Process p = Process.Start(info);
p.WaitForExit();


مآیا این کد تاثیری در برنامه ام و ارتباطش با سرور داره؟ ایا ارتباط سوکت با سرور قطع میشه؟

کد دوم


public static void EnableInterNetAccess(string IPGetway)
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
// Make sure this is a IP enabled device. Not something like memory card or VM Ware
if ((bool)mo["IPEnabled"])
{

ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");

newGate["DefaultIPGateway"] = new string[] { IPGetway };
newGate["GatewayCostMetric"] = new int[] { 1 };

//newIP["IPAddress"] = IpAddresses.Split(',');
//newIP["SubnetMask"] = new string[] { SubnetMask };

//newDNS["DNSServerSearchOrder"] = "127.0.0.1".Split(',');

//ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
//ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);

break;
}
}
}

public static void DisableInterNetAccess()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
// Make sure this is a IP enabled device. Not something like memory card or VM Ware
if ((bool)mo["IPEnabled"])
{

ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");

newGate["DefaultIPGateway"] = new string[] { "127.0.0.1" };
newGate["GatewayCostMetric"] = new int[] { 1 };

//newIP["IPAddress"] = IpAddresses.Split(',');
//newIP["SubnetMask"] = new string[] { SubnetMask };

//newDNS["DNSServerSearchOrder"] = "127.0.0.1".Split(',');

//ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
//ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);

break;
}
}
}


سوال بالا را هم در مورد این کد دارم؟
کد دوم گت وی من را تغییر میده

hamid_hr
شنبه 03 اسفند 1392, 12:07 عصر
یادمه یه تایپیک با 3 صفحه پست برا قطع ارتباط با اینترنت صحبت شد
اونم شما ساخته بودین
http://barnamenevis.org/showthread.php?406454-How-block-internet-access-on-system-in-Csharp&p=1816989&viewfull=1#post1816989
اینجا هم نمونه گذاشتم که ارتباط رو قطع و وصل میکنه

amin_sltny
دوشنبه 05 اسفند 1392, 07:39 صبح
یادمه یه تایپیک با 3 صفحه پست برا قطع ارتباط با اینترنت صحبت شد
اونم شما ساخته بودین
http://barnamenevis.org/showthread.php?406454-How-block-internet-access-on-system-in-Csharp&p=1816989&viewfull=1#post1816989
اینجا هم نمونه گذاشتم که ارتباط رو قطع و وصل میکنه


درسته دوست عزیز اما این راه ها فایده نداره چون اتباط با سوکتم میریزه به هم یه راهی می خوام تا گوش کنم به سایت هایی که توی مرورگر وارد میشه وقتی ادرس وارد شد اون را redirect کنه به صفحه ای که من می خوام!!!

لطفا کمک کنید

amin_sltny
دوشنبه 05 اسفند 1392, 08:08 صبح
درسته دوست عزیز اما این راه ها فایده نداره چون اتباط با سوکتم میریزه به هم یه راهی می خوام تا گوش کنم به سایت هایی که توی مرورگر وارد میشه وقتی ادرس وارد شد اون را redirect کنه به صفحه ای که من می خوام!!!

لطفا کمک کنید

من یه راه پیدا کردم
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;


namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SimpleListenerExample();
}


public static void SimpleListenerExample()
{


if (!HttpListener.IsSupported)
{
Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");
return;
}
// URI prefixes are required,
// for example "http://contoso.com:8080/index/".


// Create a listener.
HttpListener listener = new HttpListener();
// Add the prefixes.
listener.Prefixes.Add("http://*:80/");
listener.Prefixes.Add("https://*:80/");
while (true)
{
listener.Start();
Console.WriteLine("Listening...");
// Note: The GetContext method blocks while waiting for a request.
HttpListenerContext context = listener.GetContext();
Console.WriteLine(context);
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString) ;
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
// You must close the output stream.
output.Close();
listener.Stop();
}
Console.Read();
}
}
}




اما فقط روی localhost جواب میده بقیه سایت ها را باز میکنه

amin_sltny
پنج شنبه 08 اسفند 1392, 09:15 صبح
من یه راه پیدا کردم
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;


namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SimpleListenerExample();
}


public static void SimpleListenerExample()
{


if (!HttpListener.IsSupported)
{
Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");
return;
}
// URI prefixes are required,
// for example "http://contoso.com:8080/index/".


// Create a listener.
HttpListener listener = new HttpListener();
// Add the prefixes.
listener.Prefixes.Add("http://*:80/");
listener.Prefixes.Add("https://*:80/");
while (true)
{
listener.Start();
Console.WriteLine("Listening...");
// Note: The GetContext method blocks while waiting for a request.
HttpListenerContext context = listener.GetContext();
Console.WriteLine(context);
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString) ;
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
// You must close the output stream.
output.Close();
listener.Stop();
}
Console.Read();
}
}
}




اما فقط روی localhost جواب میده بقیه سایت ها را باز میکنه

کسی نیست کمک کنه