PDA

View Full Version : گفتگو: ایده برای ساخت URL Loger بدهید !



Samsam2010
جمعه 26 فروردین 1390, 20:24 عصر
با سلام
دوستان من میخواستم یه برنامه بنویسم که URL هایی که کاربر درخواست میکنه (با مرورگرش سایت هایی رو که میره) لاگ بگیرم حالا از شما دعوت میکنم بهترین راهی رو که میشه این کار رو کرد رو بهم بگید ممنون !

من خودم یه فکر کلی کردم ؛ اگر بتونم یه فیلتر روی ورودی و خروجی اطلاعاتی که از شبکه میان بزارم میشه آدرس هاشون رو برداشت اما نمیدونم اون بندر ورودی و خروجی کجاست !

Samsam2010
جمعه 26 فروردین 1390, 23:19 عصر
دوستان فکر کنم باید یک پورت خاص رو Listen کنم میدونید چه پورتیه ؟ من یه برنامه با زبان سی پیدا کردم
http://www.codeproject.com/KB/IP/URLLogger.aspx
میشه بگید چطوری کار میکنه !

arta.nasiri
شنبه 27 فروردین 1390, 00:35 صبح
واسه این کار باید به پروتکل http که به صورت پیشفرض از پورت 8080 استفاده میکند گوش بدید

این شاید به دردت بخوره http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx

Samsam2010
شنبه 27 فروردین 1390, 12:32 عصر
دوست عزیز ممنون از راهنمایتون
من به آدرسی که دادید مراجعه کردم ! یه نمونه کد بود برای #C کلیاتش رو متوجه شدم اما متوجه جزئیات نشدم (برای VB.NET) میخوام . لطف می کنید یکم توضیحش بدید.

چرا از آرایه String استفاده کرده ؟
prefixes چیه ؟
دقیقا خروجی برنامه چیه ؟



// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(string[] prefixes)
{
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/".
if (prefixes == null || prefixes.Length == 0)
throw new ArgumentException("prefixes");

// Create a listener.
HttpListener listener = new HttpListener();
// Add the prefixes.
foreach (string s in prefixes)
{
listener.Prefixes.Add(s);
}
listener.Start();
Console.WriteLine("Listening...");
// Note: The GetContext method blocks while waiting for a request.
HttpListenerContext context = listener.GetContext();
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();
}

Samsam2010
یک شنبه 28 فروردین 1390, 22:03 عصر
دوستان Httplistener به نظر شما برای کار من جواب میده ؟