ورود

View Full Version : برنامه Sniffer



kiani2012
یک شنبه 09 فروردین 1394, 09:54 صبح
سلام من در مقاله ای این برنامه اسنیفر را دیدم
میخواستم ببینم دقیقا این کد چکار میکنه؟
ممنون میشم کسی بدونه توضیح بده

129843

129844
129845

amin1softco
یک شنبه 09 فروردین 1394, 11:29 صبح
این برنامه با استفاده از کتابخانه http://www.winpcap.org/ میاد و روی لایه دیتا لینک شبکه ویندوز میشینه و به برنامه کاربردی اجازه خواندن پکت ها را میده همانطورم که در ساختار خود برنامه نوشته شده برنامه خروجی با نام pktdump است و دو آرگومان به عنوان ورودی میگیره اولی که -n نشون داده شده آداپتور شبکه ایی است که قرار اسنیف بشه و دومی هم فایلی است که قرار داخلش نتیجه اسنیف قرار بگیره است و همانطور که نشان داده شده شما عملاً کد خاصی ننوشتید و فقط از توابع کتابخانه ذکر شده استفاده کردید ...

kiani2012
یک شنبه 09 فروردین 1394, 14:34 عصر
سلام ممنون از پاسختون
ولی چندتا تابع توی این برنامه وجود داره

dispatcher_handler (u_char * ,const struct pcap--'tdr * ,const u_char *);

usage ();

pcap_Ioop(f ,0 ,dispatcher_handler ,NULL);


وظیفه اینها چیه؟

amin1softco
یک شنبه 09 فروردین 1394, 18:30 عصر
وظیفه اینا رو باید داخل کتاب بخونی ولی به هر حال تابع dispatcher_handler یک تابع ساده است که وظیفه چاپ پکت ها دریافی رو صفحه نمایش را داره
تابع usage هم که ساده تر فقط یک رشته چاپ می کنه که از برنامه به این شکل استفاده کنید !
اون آخری هم I نیست L است و یک حلقه است که میگه پکت ها را بده به تابع dispatcher_handler تا چاپشون کنه .
شما به لینک زیر مراجعه کنید
http://siri.lmao.sk/fiit/PS1/zad/winPcap/winPcap/docs/html/group__wpcapsamp1.html
روی هر کدوم از توابع که کلیک کنید توضیحاتش موجوده...

kiani2012
دوشنبه 10 فروردین 1394, 08:53 صبح
توی این لینک توضیحات خوبی داده
ولی argv , argc را چیزی ننوشته
این دو آرگومان برای چی هستن؟

amin1softco
دوشنبه 10 فروردین 1394, 09:10 صبح
:کف: وقتی برنامه شما اجرا بشه می تونه یکسری پارامتر بگیره اون پارامتر ها درون این متغیر ها قرار میگیره ...
http://www.cprogramming.com/tutorial/c/lesson14.html

kiani2012
دوشنبه 10 فروردین 1394, 09:15 صبح
:کف: وقتی برنامه شما اجرا بشه می تونه یکسری پارامتر بگیره اون پارامتر ها درون این متغیر ها قرار میگیره ...
http://www.cprogramming.com/tutorial/c/lesson14.html

بله اینو که میدونم :لبخندساده:
منظورم اینه که مورد استفادشون چیه مثلا [argv[1][1 استفاده شده داخل این آرایه چه مقداری هست که با حروف n و f مقایسه میشه؟

amin1softco
دوشنبه 10 فروردین 1394, 09:50 صبح
:کف: ماشالا چون می دونستی باید اینم می دونستی که وقتی گفتیم برنامه باید به شکل pktdump -n اجرا بشه اون n آرگومان اول است که با n ی که می فرمایید مقایسه می شه