# Native Code > برنامه نویسی در Delphi > توسعه نرم افزارهای تحت شبکه >  دسترسی به بسته های ip

## khazaie01

سلام دوستان 
با دلفی میشه به لایه های زیرین شبکه و بسته های ip دسترسی داشت ؟
حتما نرم افزار network monitor را روی ویندوز سرور دیده اید !! آیا میشه با دلفی همچین چیزی نوشت ؟
ممنوووووووووووون

----------


## tdkhakpur

لایه های زیرین شبکه بطور کلی داخل winsock32.dll کنترل و انالیز میشوند میتوانید تحقیقتان را از این فایل و نحوه کارکرد توابع موجود در داخل این فایل شروع کنید.

----------


## khazaie01

خیلی خیلی ممنوووووون
اما قبلش یه سوال دارم 
برای کار با لایه های زیرین شبکه دلفی توانایی لازم را داره ؟ یا باید با c کار کنم ؟
ممنووووووون

----------


## tdkhakpur

بهتره ار c استفاده کنید ولی با دلفی هم میشه انجام داد.

----------


## vcldeveloper

برای همچین کاری باید یک Device Driver بنویسید. اکثر برنامه ها این کار را نمی کنند، حتی برنامه هایی مثل WireShark به جای نوشتن یک Device Driver، از درایور آماده WinPCap استفاده می کنند.
این درایور رو می تونید روی سیستم مقصد نصب کنید، و برنامه شما از طریق آن، می تونه به داده های رد و بدل شده در شبکه دسترسی داشته باشه.
نمونه ایی برای کار با WinPCap در دلفی رو می تونید در لینک زیر بصورت کامپوننت رایگان ببینید و استفاده کنید:
http://www.magsys.co.uk/delphi/magmonsock.asp

این هم سایت WinPCap:
http://www.winpcap.org/

----------


## khazaie01

> برای همچین کاری باید یک Device Driver بنویسید. اکثر برنامه ها این کار را نمی کنند، حتی برنامه هایی مثل WireShark به جای نوشتن یک Device Driver، از درایور آماده WinPCap استفاده می کنند.
> این درایور رو می تونید روی سیستم مقصد نصب کنید، و برنامه شما از طریق آن، می تونه به داده های رد و بدل شده در شبکه دسترسی داشته باشه.
> نمونه ایی برای کار با WinPCap در دلفی رو می تونید در لینک زیر بصورت کامپوننت رایگان ببینید و استفاده کنید:
> http://www.magsys.co.uk/delphi/magmonsock.asp
> 
> این هم سایت WinPCap:
> http://www.winpcap.org/


ممنوووون دوست عزیز واقعا مفید بود
برام سوال شده بود که این WinPCap چیه که همیشه موقع نصب اینجور نرم افزار ها باید نصب بشه ...
ممنوووون
این سورسی لینک دادید را دانلود کردم جالب بود فقط نمیدونم چرا جای آیپی مک آدرس را میداد !

----------


## khazaie01

میشه عمل فیلترینگ انجام داد ؟ مثلا بسته هایی مربوط به یه سرویس خاص هست را حذف کرد ؟!! 
از پشتیبانی این کامپوننتی که معرفی کردید سوال کردم میگن فقط مانیتورینگ...
اما سوال را کلی پرسیدم میشه تو دلفی همچین کاری کرد ؟ باید یه Device Deriver نوشت یا با همین WinPcap هم میشه ؟ یه چیزی شبیه فایروال میشه...
ممنووووووووووون

----------


## vcldeveloper

> باید یه Device Deriver نوشت یا با همین WinPcap هم میشه ؟ یه چیزی شبیه  فایروال میشه...


چند سال پیش، افشین زوار یک تاپیک درباره ساخت فایروال در تالار دلفی ایجاد کرده بود. دقیقا خاطرم نیست، ولی فکر کنم اون هم از WinPCap استفاده کرده بود. می تونید با جستجو در تالار دلفی آن تاپیک را پیدا کنید.

----------


## khazaie01

من تو انجمن دنبال موضوع مرتبط با فایروال گشتم ولی چیز خاصی پیدا نکردم !
نام کاربری آقای افشین زوار چیه ؟ تو تاپیکهایی که زدن را بگردم

----------


## Felony

> نام کاربری آقای افشین زوار چیه ؟ تو تاپیکهایی که زدن را بگردم


نام کاربریشون Afshin Zavar هست ، من زدم لیست پست هاشون رو پیدا کنه 67 صفحه شد  :متعجب:  ( نیمدونم چرا برای بقیه کاربران رو 18 صفحه پیدا میکنه ، البته تا اونجا که یادمه و قبلا جست و جو کرده بودم ، شاید الان آزاد شده ) ، اگه حال داشتی و گشتی و پیدا کردی لینکش رو بزار بقیه هم استفاده کنن .

----------


## khazaie01

باشه میگردم ولی خود این آقای Afshin Zavar دیگه تو انجمن نیستن ؟!


همچین نام کاربری تو انجمن نیست !!!!

----------


## Felony

> باشه میگردم ولی خود این آقای Afshin Zavar دیگه تو انجمن نیستن ؟!


آخرین فعالیتشون حدود 15 روز پیش بوده ، پس هنوز حظور دارن .




> همچین نام کاربری تو انجمن نیست !!!!


پس این چیه ؟

----------


## vcldeveloper

http://www.barnamenevis.org/sh...d.php?p=621788
https://barnamenevis.org/showthread.php?t=25889

----------


## khazaie01

> پس این چیه ؟


بدون _ سرچ کرده بودم.
ممنووووون

----------


## khazaie01

سلام دوستان 
کاراکترهای فارسی به چه شکل در داخل بسته های IP جای میگیرن ؟ برای کاراکتر های انگلیسی که بایت تبدیل به کد اسکی میشه اما فارسی چی ؟ به سر کاراکتر های فارسی چی میاد ؟!!

----------


## khazaie01

اینو ببینید ... یه کامپوننت برای فیلتر کردن داده ها 
http://www.ntkernel.com/downloads/winpkflt_rtl.zip
اینم سایتش http://www.ntkernel.com/w&p.php?id=7

----------


## khazaie01

> کاراکترهای فارسی به چه شکل در داخل بسته های IP جای میگیرن ؟ برای کاراکتر های انگلیسی که بایت تبدیل به کد اسکی میشه اما فارسی چی ؟ به سر کاراکتر های فارسی چی میاد ؟!!


کسی اطلاعاتی در این رابطه نداره ؟

----------


## vcldeveloper

> کاراکترهای فارسی به چه شکل در داخل بسته های IP جای میگیرن ؟


بستگی به Encoding متن مورد نظر داره، متن میتونه ANSI باشه، Unicode باشه، یا اصلا با استفاده از روش هایی مثل Base64 کدگزاری شده باشه.

----------


## khazaie01

برای اینکار C++‎Builder بهتر است یا Delphi ?!
با دلفی میشود یک Device Deriver نوشت ؟ ! مگر با دلفی میتوان برنامه سطح کرنر نوشت ؟!

ممنوووووووون

----------


## vcldeveloper

> با دلفی میشود یک Device Deriver نوشت ؟ ! مگر با دلفی میتوان برنامه سطح  کرنر نوشت ؟!


به صورت عادی خیر. دلفی برای نوشتن نرم افزارهای سطح کرنل ایجاد نشده، ولی می توان با تغییر در برخی یونیت های آن، و تغییر جزئی در محتوای object فایل های ایجاد شده، با آن درایور سطح کرنل هم نوشت. برای این منظور ابزارهای غیررسمی هم در اینترنت پیدا میشند.

برای مورد شما، نیازی نیست که برنامه شما خودش در سطح کرنل اجرا بشه، بلکه می تونید از برنامه خودتان با یک درایور سطح کرنل ارتباط برقرار کنید. کاری هم که بعضی برنامه ها با WinPCap انجام میدند به همین شکل هست؛ WinPCap درایور سطح کرنل را فراهم میکنه، و برنامه مربوطه (مثل Wireshark) در سطح User از این درایور استفاده میکنه.

----------


## khazaie01

ممنوووون دوست عزیز 
واقعا مفید بود.

با استفاده از راهنمایی های شما و دوستان دیگر و لینک های که معرفی کردید،به هدفم رسیدم.(البته نه کاملا)

الان یک اسنیفر نوشتم و اطلاعات خاصی از شبکه را مورد پردازش قرار دادم ، به عنوان مثالی برای خودم نرم افزاری تحت عنوان استراق سمع از یاهو مسنجر نوشتم ،این هم سورس برنامه 
اما هدف اصلی من نوشتن یک سیستم IDS است و از آنجا که IDS در عمل کاری شبیه به Sniffer انجام می دهد،به دنبال شیوه دستیابی به بسته های IP بودم ،اما کار دیگری که یک سیستم IDS باید بتواند انجام دهد ، حذف و دستکاری بسته های آیپی خاص است(کاری که هنوز موفق به انجام آن نشدم) .

به علاوه این موضوع ، قصد دارم بسته های آیپی با مقادیر شخصی فیلدها ،را در شبکه ارسال کنم.به عنوان مثال ارسال یک بسته Arp با مقادیر شخصی(بتوان تک تک فیلدهای بسته از جمله Hardware Type , protocol Type , Source IP Address , Operation Code , ... را مقدار داد) البته بسته های Arp را به صورت دیگری توانستم ارسال کنم.

آیا برای انجام این کارها نیاز به نوشتن یک Device Driver خواهم داشت ؟ و یا اینکه همان WinPcap هم نیاز های من را برآورده می کند ؟

ممنووووووووووووووووووووون

----------

