PDA

View Full Version : ای پی اسکنر



vbc
دوشنبه 10 مرداد 1384, 22:25 عصر
سلام دوستان
کسی سورس ای پی اسکنر به زبان سی پلاس پلاس رو داره؟

taze kar
پنج شنبه 13 مرداد 1384, 16:38 عصر
یه راه بد اینه که با یک سوکت شروع کنی از بورت 1 تا 65535 رو بهشون وصل بشی هر کدوم که اتصال رو قبول کرد یعنی یه بورت باز
بااستفاده از CSocket یا CAsyncSocket می تونی زیاد هم سخت نیست یه Eventهم داره واسه این که بفهمی اتصال قبول شده یا نهOnConnect
فکر کنم سرعتش خیلی بایین باشه

taze kar
پنج شنبه 13 مرداد 1384, 16:41 عصر
راستی اینی که کفتم توی Vc++ باید بنویسی

seyedof
پنج شنبه 13 مرداد 1384, 20:26 عصر
سلام
تا پورت 32767
ممنون علی

taze kar
جمعه 14 مرداد 1384, 16:38 عصر
جرا تا این بورت ؟
یعنی بقیه کشک ؟

seyedof
جمعه 14 مرداد 1384, 21:11 عصر
سلام
تست کنید. من یک بار آزمایش کردم فقط تا این پورت کار میکرد (توی ویندوز). البته مطمئن نیستم.
ممنون علی

taze kar
شنبه 15 مرداد 1384, 08:54 صبح
من جند دقیقه بیش روی بورت 40000 یه سوکت رو لیسن کردم و با یکی دیکه بهش وصل شدم و هیج مشکلی نداشت

plus
پنج شنبه 27 مرداد 1384, 03:52 صبح
احتمالا شما شماره پورت رو توی یه متغیر از نوع Integer نگهداری میکردین که تا به مقدار 32768 رسیده برنامه متوقف شده!(ظرفیت متغیر پر شده)

sh_roohani
شنبه 29 مرداد 1384, 09:45 صبح
بابا تو ویندوز int ها 32 بیتی هستن. نمی شه که با 32768 تا overflow کنه!

plus
سه شنبه 01 شهریور 1384, 01:27 صبح
آره راست میگی.من چون بیشتر با ویبی کار کردم این اشتباه رو کردم....(توی ویبی int ها 16 بیتی هستن)

seyedof
سه شنبه 01 شهریور 1384, 20:34 عصر
سلام
توی سی نوع داده short روی تمام پلتفرمها ۱۶ بیتی است. متغیر پورت هم که در WinSock استفاده شده از نوع unsigned short است نه int . مشکل من این بود که فکر کردم short است نه unsigned short بنابراین پورت میتواند حداکثر 65535 باشد. اگر short بود حداکثر 32767 پورت میشد.
ممنون علی

mr_esmaily
سه شنبه 01 شهریور 1384, 22:17 عصر
سلام
میشه یه سورس اینجا قرار بدین؟

Pars Giga
چهارشنبه 02 شهریور 1384, 07:56 صبح
سلام
ببخشید من برنامه نویسی سوکت بلدم ( اصولش) به صورت تئوری
چطور باید عملی امتهان کرد
یهنی در vc++ باید چه کتابخانه ای را اضافه کنم
چضوری تاریف کنم و ...

sh_roohani
چهارشنبه 02 شهریور 1384, 09:51 صبح
شما همون اول که پروژه تونو ایجاد می کنین، تو AppWizard تو مرحله دوم یه جایی هست که می تونین یه چک باکس رو علامت بزنین و پشتیبانی WinSock رو به پروژه تون اضافه کنین. به جای اینکار می تونین از هدر winsock2.h و کتابخونه ws2_32.lib استفاده کنین.

sh_roohani
چهارشنبه 02 شهریور 1384, 10:06 صبح
سلام
میشه یه سورس اینجا قرار بدین؟
<a href="http://netcins.ceid.upatras.gr/ContentDistribution/project_help/bgnet.pdf">یه منبع خیلی خوب</a>

armin390
چهارشنبه 23 شهریور 1384, 03:27 صبح
سلام
برای این کار به نظر من میشه کلک زده و اصلا پورت ها رو چک نکرد بلکه از دستور ping در تابع سیستم استفاده کرد یا دستورات مشابه.system("ping");

ولی اینها راهش نیست نه چک کردن تمام پورت ها نه دستور پینگ خیلی وقت پیش نمی دونم کجا برخورد کردم ولی فکر کنم از طریق ICMP باشه.
اگه چیزی پیدا کردم حتما میزارم.