PDA

View Full Version : تقاضای Header File



Developer Programmer
جمعه 25 شهریور 1384, 12:28 عصر
سلام
لطفا سریعتر Header فایلهای زیر رو واسم Attach کنید


#include<unistd.h>
#include<errno.h>
#include<netdb.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netinet/ip.h>
#include<netinet/tcp.h>

متشکرم

Inprise
یک شنبه 27 شهریور 1384, 01:06 صبح
این Header ها روی همه توزیعات متداول لینوکس موجودند .

Developer Programmer
یک شنبه 27 شهریور 1384, 10:38 صبح
سلام
اینپرایز جون ... دسترسی به لینوکس ندارم
مرسی

Inprise
یک شنبه 27 شهریور 1384, 14:45 عصر
اگر به لینوکس دسترسی ! نداری ، هدرهای لینوکس به دردت نخواهند خورد . حدس میزنم که میدونم مشکلت چیه و داری برای رسیدن به چه چیزی تلاش میکنی و جوابت اینه که : این مسیر غلطه .

Developer Programmer
یک شنبه 27 شهریور 1384, 19:28 عصر
اگر به لینوکس دسترسی ! نداری ، هدرهای لینوکس به دردت نخواهند خورد . حدس میزنم که میدونم مشکلت چیه و داری برای رسیدن به چه چیزی تلاش میکنی و جوابت اینه که : این مسیر غلطه .
سلام
ممنون از توجهی که کردین
اینپرایز جون ، دنبال هکینگ و تخریب سایت ملت نیستم... فکر بد نکن!

خیلی دوست دارم بدونم Ping چطور می تونه پکت بسازه و به آدرس دلخواه ارسال کنه
واسه همین از مدتها دنبال مطلب بودم که بدونم چطور میشه پکت ساخت؛ سورس اکسپلویت یه حمله مربوط به DoS که واسه لینوکس نوشته شده بود ؛ همین کار رو میکرد
سعی کردم با تغییر برخی از Header هاش اونرو در ویندوز هم امتحان کنم اما نمی دونستم از چه struct ای واسه TCP, IP استفاده شده , واسه همین بدنبال Header ها هستم
اما گویا متد ساخت پکت در لینوکس و ویندوز متفاوت است ): و همچنین نحوه محاسبه سایز پکت ):

Inprise
یک شنبه 27 شهریور 1384, 19:38 عصر
اگر واقعا" دوست داشتی بدونی چطور میتونی پکت بسازی ، قاعدتا" باید به جوابهای کاملی که تو سه نوبت مختلف تو بخش امنیت شبکه بهت دادم توجه میکردی ، ایضا" استفاده از سیستم جستجوی سایت بهت کمک میکنه به دو سه تا جواب دیگه در همین راستا برسی . اگر قرار باشه از دیگران سوال بکنی ، اما به جواب و مسیر پیشنهادی اونها توجه نکنی بهتره وقتت رو از ابتدا برای سوال کردن صرف نکنی ؛ بگذریم ...

هدرهای لینوکس مشکلت رو حل نمیکنند ؛ تو باید یاد بگیری چطور روی لینوکس برنامه بنویسی ، زیر سیستمهاش رو بشناسی ، ساختار کتابخانهء استاندارد سی برای Unix رو بشناسی ، با BSD Socket و قواعد مربوط به اون آشنا باشی تا نهایتا" بتونی از مطالعهء یک کد ، به منطقش پی ببری ؛ تا وقتی حتی هدرهای لینوکس رو نمیشناسی و حتی بهش دسترسی نداری ، ور رفتن با یه کد و کامپایل کردن اون روی ویندوز دردی ازت دوا نخواهد کرد . برای همین تو جواب قبلی بهت گفتم این مسیر خطاست . یونیکسها ، عموما" از استاندارد BSD برای Socket Progamming استفاده میکنند که Winsock چنانکه باید از اون حمایت نمیکنه و تفاوتهای قابل توجهی داره هر چند مشخصه که گاهی تلاش کرده سازگاری هائی هم وجود داشته باشه ؛ ولی بهر ترتیب کپی کردن فلان اکسپلویت از فلان سایت و ور رفتن با هدرها اونم روی ویندوز نهایتا" تو رو به سواد و دانش با ارزشی نمیرسونه . اگر میخوای از ویندوز استفاده کنی Winsock Programming رو یاد بگیر ، از مثالهای ساده شروع کن ، سوالاتت رو همینجا بپرس ، تا به سطح مطلوب برسی و کنارش به عنایت به جوابهائی که قبلا" بهت دادم به کتابخانه هائی مثل WinPCap هم توجه کن . اگر میخواهی از لینوکس استفاده کنی BSD Sockets Programming رو یاد بگیر ، در مورد برنامه نویسی برای لینوکس مطالعه کن ، سوالاتت رو همینجا بپرس تا به سطح مطلوب برسی ؛ و نهایتا" بعد از این روند ممکنه بتونی تو هر کدوم از پلت فرمها ، کدی که فرد دیگری نوشته رو بخونی و احتمالا" منطقش رو بفهمی . این مسیر درسته . هر کاری غیر از این فقط اتلاف وقت و هزینه است . بگذریم از اینکه اصولا" استفاده از اکسپلویت ! برای یاد گرفتن یه مفهوم مثل Packet Generation به هیچ وجه معقول نیست ، چون کدهای مخرب ، معمولآ" از Trick های مختلفی برای نیل به مقاصد مختلف استفاده میکنند که اغلب ربط چندان با خود موضوع - مثلا" Network Programming - نداره و ور رفتن با چنین کدهائی باعث گیج شدن و سردرگمی بیشتر میشه ؛ برای لینوکس ، کتاب Linux Socket Programming از انتشارات SAMS و برای ویندوز ، راهنماهای غیر رسمی و متنوعی که به کمک گوگل بهشون خواهی رسید بهت کمک خواهند کرد و البته از MSDN غافل نشو .

موفق باشی

Developer Programmer
یک شنبه 27 شهریور 1384, 19:46 عصر
مرسی اینپرایز جان کمک بزرگی کردید .
قبلا از pssdk چند مثال دیده بودم که در چندین سطر اینکار رو می کرد اما وقتی سورس این اکسپلویت اینقدر راحت و در چند خط تونسته بود پکت بسازه ؛ گفتم شاید نیازی به درگیر شدن با winpcapو psSDK نباشه

باز هم از کمک هات و راهنمایی هات تشکر میکنم

حامد مصافی
دوشنبه 04 مهر 1384, 01:09 صبح
سلام به دوستان
جناب Inprise ممکنه سایت یا مرجعی در رابطه با BSD Sockets Programming معرفی کنید
ممنون میشم

Inprise
دوشنبه 04 مهر 1384, 01:35 صبح
از گوگل (http://www.google.com/search?hl=en&q=linux+socket+programming) برای پیدا کردن مراجع آنلاین استفاده کن ؛ کتابهای ذیل هم واقعا" مفید و قابل استفاده هستند :

http://images.amazon.com/images/P/0789722410.01._BO2,204,203,200_PIlitb-dp-500-arrow,TopRight,32,-59_AA240_SH20_SCLZZZZZZZ_.jpg

http://www.amazon.com/exec/obidos/tg/detail/-/0789722410/103-0847809-5599046?v=glance


http://images.amazon.com/images/P/1584502681.01._BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_AA240_SH20_SCLZZZZZZZ_.jpg

http://www.amazon.com/exec/obidos/tg/detail/-/1584502681/103-0847809-5599046?v=glance

موفق باشید ؛

حامد مصافی
دوشنبه 04 مهر 1384, 09:47 صبح
خیلی ممنون ولی اینا که پولین
من دارم دنبال مراجع دیگه می گردم ببینم پیدا می کنم

mas'ood
چهارشنبه 19 بهمن 1384, 10:17 صبح
با سلام خدمت دوستان
من تا حدودی با محیط لینوکس و برنامه نویسی با اون آشنا هستم.
یک sample code رو هم از یکی از منابع معتبر(IBM) پیدا کردم که به صورت خیلی ساده یک Server و Client رو ایجاد میکنه ولی خب هنگام کامپایل کردن error میده.در همین زمینه چند سوال داشتم:
1. آیا باید componente خاصی رو بر روی Linux نصب کرد یا اینکه خودش کامله؟ (از Suse v9.3 استفاده میکنم)
2. چندین فایل header از جمله in.h رو نیاز داشت که من اونها رو search کردم و کپی کردم کنار فایل main.cpp .آیا این مشکلی ایجاد میکه؟ (با توجه به اینکه تاکید داره که حتما باید در یک فولدر خاص باشه)
3. یک error همون اوایل میده با این مضمون : که خروجی main نباید از نوع Void باشه! این در حالیه که در سورس اصلی داریم Void main () !!
متشکرم

mas'ood
چهارشنبه 19 بهمن 1384, 10:31 صبح
با سلام
بتازگی با socket programming آشنا شدم. یک نمونه کد بسیار ساده برای ایجاد یک سرور و Client پیدا کردم(از یک منبع خوب IBM) و سعی در اجرای اون در محیط لینوکس دارم.(از Suse v 9.3 استفاده میکنم)
ولی به مشکلات زیر بر خوردم:
1 . چندین header اصلی از جمله in.h نیاز داره.مناین هدر ها رو جستجو کردم در سیستم خودم و اونها رو کپی کردم در کنار main.cpp خودم. آیا این کار مشکلی ایجاد میکنه؟ با توجه به اینکه تاکید داره که مثلا فایل in.h باید حتما در یک فولدر خاص باشه.
2. برنامه بدین صورت شروع میشه Void main() ولی کامپایلرم ایراد میگیره که چرا خروجی Void هست؟!!! (توی KDevelop مینویسم)
3 . آیا در حالت معمولی نیاز به نصب component خاصی بر روی لینوکس هست یا نه؟
متشکرم

Inprise
چهارشنبه 19 بهمن 1384, 15:20 عصر
اگه بستهء GCC رو بطور کامل نصب کرده باشی مشکلی نخواهد بود ، و اگه از محیطهای مجتمعی مثل KDevelop هم استفاده میکنی لازمه به تنظیمات محیطی دقت کنی ، هر چند که اغلب این تنظیمات هنگام اول بار اجرا بصورت خودکار انجام میشن ، و در هر حال لازم نیست تو فایل یا هدرهای مورد نیاز رو خودت دستی کپی کنی . وقتی مشکل داری یا کامپایل رو درست انجام نمیدی یا کامپایلر/محیط توسعه ات رو درست نصب نکردی .