وب وارد بحث برنامه نويسي C ميشيم براي سوکت ها . ...
اين رو دوست خوب و نازنينم آقاي فرهادنيا (يادش بخير و روانش شاد ) 2 سال پيش تو سيمرغ گذاشت ...
--------------
به نام خدا
برنامه نويسي و كنترل پشته TCP IP با زبان C :
در ابتداي بحث لازمه كه خوانندگان محترم توجه داشته باشند كه براي درك بهتر مفاهيم اين سلسله از مقالات لازمه كه آشنايي در حد مطلوب با مفاهيم برنامه نويسي و شبكه و خصوصا TCPIP Protocol داشته باشند در غير اين صورت مطالعه اين سلسله از مقالات براي عزيزان بي ثمر خواهد بود.
اين سلسله از مقالات شامل :
معرفي توابع مورد استفاده در برنامه نويسي TCPIP.
نحوه ساخت يك برنامه Client.
نحوه ساخت يك برنامه سرويس دهنده (Server ).
نحوه ساخت برنامه هاي كاربردي شبكه .
نحوه ساخت برنامه هاي نفوذ به سيستم ( ها Trojan )
و توضيحات متفرقه و سوال و جواب ها مي باشد.
قسمت اول اين سري از مقالات به صورت مجاني در سايت simorgh-ev.com انتشار مي يابد و قسمت هاي ديگر كه به صورت نيمه مجاني مي باشد به وسيله پست الكترونيكي به فروش مي رسد.
براي اطلاعات بيشتر و نحوه خريد مقالات از طريق پست الكترونيكي با من تماس بگيريد.
پرسش و پاسخ هاي اين بحث نيز در انجمن امنيتي سيمرغ صورت مي پذيرد.
يونس فرهادنيا.
معرفي توابع مهم مورد استفاده در برنامه نويسي TCPIP با زبان C :
مقدمه:
براي برنامه نويسي شبكه به زبان سي ما نيازمند يك سري ملزومات هستيم از جمله اين ملزومات مي توان به يك كامپايلر مناسب ، هدر مربوط به برنامه نويسي شبكه (or Other Header Winsock.h) و همچنين سيستم عاملي كه از سوكت هاي شبكه پشتيباني كند را مي توان نام برد.
همان طور كه مي دانيد زبان سي يك زبان قابل حمل مي باشد يعني مي توان برنامه هاي نوشته شده به اين زبان را روي سيستم هاي مختلف كامپايل و اجرا كرد منظور از سيستم هاي مختلف كامپيوتر هايي با معماري هاي گوناگون مي باشد البته اين امر به شرطي ميسر است كه ما به شيوه اي هوشمندانه كد برنامه خود را تنظيم كنيم كه وابسته گي به سيستم خاصي نداشته باشد به عنوان مثال هنگام تخصيص حافظه پويا نبايد طبق مشخصات سيستم خود اقدام به گرفتن يا آزاد كردن حافظه نمائيم و اقدامات ديگري نظير اين موضوع كه باعث مي شود برنامه اي كه ما نوشته ايم بخوبي كه روي سيستم خود اجرا مي شود بر روي ديگر PlateForm نيز اجرا شود.
در نتيجه در برنامه نويسي شبكه نيز اين امر بايد به خوبي مد نظر واقع شود به عنوان مثال هدر كار با سوكت ها در سي مي تواند از سيستم عاملي به سيستم عامل ديگر متفاوت باشد همينطور از سخت افزاري به سخت افزار ديگر به عنوان مثال براي برنامه نويسي شبكه در سيستم عامل ويندوز ما از هدر Winsock.h استفاده مي كنيم كه خود نگارش هاي مختلفي دارد و براي برنامه نويسي شبكه در سيستم عامل هاي خانواده *NIX از هدر sys/socket.h و هدر هاي ديگر استفاده مي كنيم كه البته مي توان با اقدامي هوشمندانه توسط راهنماهاي كامپاير (Compiler Directive ) نوع سيستم عامل را تشخيص داد و بعد هدر هاي مربوط به هر سيستم عامل را مورد استفاده قرار داد. بدين ترتيب برنامه ما در هر سيستم عاملي و با هر كامپايلر ( البته نه همه نوع كامپايلري) قابل ترجمه به زبان ماشين و اجرا مي باشد.
در اين سلسله از مقالات براي سهولت آموزش از سيستم عامل ويندوز و هدر winsock2.h به همراه كامايلر VC++ استفاده مي شود. و هر كجا كه نياز بود مثال هايي از سيستم هاي ديگر آورده خواهد شد.
البته بايد دانست كه توابع مورد استفاده در همه انواع هدر ها يكسان مي باشند مگر در معدود مواردي كه هر كجا كه احساس نياز شود ذكر خواهند شد.
شرح توابع مهم موجود در هدر winsock2.h:
كد: SOCKET socket(
int af,
int type,
int protocol
); <font size="2">
اين تابع براي تعريف و ايجاد يك پورت به %u
موضوعات مشابه:
- loadbalance Overflow balancing
- نرم افزارهایی برای انجام MAC Overflow
- يك ابزار امنيتي مناسب براي جلوگيري از حملات Buffer overflows
- SATA2(16mb Buffer) & Linux
- Buffer Overrun In RPC Interface