سفارش تبلیغ
صبا ویژن
انسان با برادران مسلمانش [نیرومند و] افزونمی شود . [رسول خدا صلی الله علیه و آله]

فنی مهندسی کامپیوتر

مدل TCP/IP که برای ارتباط اینترنتی به‌کار می‌رود، می‌توان به لایه‌های مختلفی تقسیم‌بندی کرد که بعدا بیشتر توضیح می‌دم، اما یکی از این لایه‌ها، لایه ارتباط host2host است که خود شامل دو پروتکل است به نامهای TCP و UDP :
http://www.noandish.com/images/akhbar/big/safardolat1.1.JPG
?- (TCP (Transmission Control Protocol :
این پروتکل قوی‌تر و قابل اعتمادتر است و اصولا پروتکل مهمتری نسبت به UDP محسوب می‌شود. این پروتکل توانایی بازبینی بسته‌هاو کنترل خطا را هم دارد.

?- (UDP (User Datagram Protocol :
این پروتکل برای کاهش overflow طراحی شده است و در خیلی از موارد وابسته به TCP است.

نکته مهم این است که وقتی با یک پورت خاص روی یک کامپیوتر دیگر ارتباط برقرار می‌کنیم، این ارتباط می‌تواند از نوع TCP یا UDP باشد. بنابراین وقتی می‌خواهیم یک کامپیوتر خاصی را از نظر پورت‌ها بررسی کنیم، هردو باید بررسی شود.

با تشکر

 
 

 

یکشنبه، 18 آبان، 1382

 

شماره Port و آدرس IP چیه ؟

 

 *** شماره پورت (Port number):
وقتی شما در شبکه اطلاعات رد و بدل میکنیداطلاعات از درگاههایی وارد و خارج میشن که به این درگاهها میگن پورت . این درگاهها فیزیکی نیستن و واسه TCP/IP تعریف شدن  . برای TCP جمعاً 65535 تا پورت تعریف شده که پورت شماره صفر رزرو شده و از اون استفاده نمیشه .
شماره پورت یه عدد 16 بیتیه که مشخص کننده یه درگاه اطلاعاته . در هدر TCP شماره پورت مبدا (یعنی شماره پورتی که برنامه کاربردی بوسیله اون پورت اطلاعات را میفرسته) و شماره پورت مقصد(یعنی شماره پورتی که برنامه کاربردیه سیستم مقابل بوسیله اون پورت اطلاعات را میگیره) وجود داره .
شماره پورتها طبقه بندی خاصی دارن به این صورت :
# شماره پورتهای 1 تا 1024 شماره پورتهای شناخته شده که توسط پرتکل یا سرویس خاصی استفاده میشن .
# شماره پورتهای 1025 تا 65535 که به سرویس خاصی اختصاص ندارن و بیشتر موقتی هستن و با شروع یه ارتباط بصورت تصادفی (Rondom) انتخاب میشن و با پایان ارتباط کنار گذاشته میشن .
اینم شماره و سرویس یا اسم چند تا پورتهای شناخته شده .
-----------------------------------
7 .......... echo
9 .......... discard
11 ......... systat
13 ......... daytime
15 ......... netstat
19 ......... chargen
21 ......... ftp
23 ......... telnet
25 ......... smtp
37 ......... time
39 ......... rlp
43 ......... whois
53 ......... dsn-lookup
70 ......... gopher
69 ......... tftp
79 ......... finger
80 ......... http
109 ........ pop2
110 ........ pop3
119 ........ nntp
135 ........ ntrps-dec
139 ........ netbios
161 ........ snmp
179 ........ bgp
443 ........ shtp
512 ........ biff
----------------------------------
یه پورت در دو وضعیت میتونه باشه ، باز یا بسته . وقتی پورت بازه یا فال گوشه یا در حال ارتباط .
در وضعیت باز یه برنامه پورت را کنترل میکنه و به پکتهای رسیده به اون پورت جواب میده و در حالت بسته پورت غیر فعاله و هیچ برنامه روی پورت فعالیت نمیکنه و پورت در برابر پکتهایی که میرسه عکس العملی نشون نمیده . در ویندوز یه سری پورتها بصورت پیش فرض بازن و هر کدومشون با یه برنامه کنترل میشن . مثلا پورت 23 بوسیله telnet کنترل میشه . وقتی یه برنامه کاربردی مبتنی بر TCP روی سیستمتون نصب میکنید این برنامه یه پورت را تحت کنترل قرار میده و اون پورت را به حالت باز در میاره و روی اون پورت برای بسته های TCP رسیده برای اون پورت اصطلاحاً فال گوش می ایسته . اینکه یه برنامه کاربردی از چه پورتی استفاده کنه بوسیله کسی که اون برنامه را مینویسه تعیین میشه . مثلاً یاهو مسنجر از پورت 5101 برای ارتباط چت استفاده میکنه .
وقتی شما با اکسپلورر میخواهید صفحه های وب یه وب سایت را ببینید اکسپلورر برای TCP پورت 80 را پورت مقصد معرفی میکنه چون سرویس ارائه صفحه های وب روی پورت 80 وب سرورها هستن و این شماره پورت در هدر TCP بعنوان شماره پورت مقصد اضافه میشه و شماره پورتی که اکسپلورر از اون صفحه ها را درخواست کرده میشه پورت مبدا مثلا 1234 . وقتی این درخواست میرسه به سرویس دهنده صفحات وب اون وب سرور ، این سرویس دهنده ، صفحه ها (که بصورت کدهای HTML هستن) را بصورت پکت های TCP با پورت مقصد یعنی پورت اکسپلورر شما مثلا 1234 و پورت مبدا 80 میفرسته .
چطوری بفهمیم چه پورتهایی روی سیستم ما بازه ؟
Netstat
مهمترین فرمان در استفاده از پورتها netstat هست (در طول این دوره شما باید به استفاده از Command prompt عادت کنید . مسیر اون در ویندوز XP به این صورته Start \ all programs \ Accessories \ Command prompt )
در Command promt فرمان Netstat -na را تایپ کنید واینتر بزنید . سویچ a هم میتونه بجای na استفاده بشه ولی در این حالت بجای شماره پورتهای باز اسم پورت نشون داده میشه . این فرمان هم در ویندوزهای با هسته NT مثل ویندوز 2000 و XP هستش هم در یونیکس . بعد از اینکه این فرمان را اجرا کردید چهار تا ستون میبینید .
proto : این ستون پروتکل روی هر پورت را نشون میده.
Local Address : توی این ستون اگه شما از سویچ na استفاده کرده باشید آدرس IP کامپیوتر خودتون و شماره پورتهای باز را میبینید ولی اگه از سویچ a استفاده کرده باشید Computer name و اسم پورت باز رامیبینید . هر دو تا سویچ را امتحان کنید تا فرقشون را بفهمید . در کل استفاده از na بهتره .
Foreign Address : که آدرس IP کامپیوتری که در حال حاضر به این پورت متصله و در حال رد و بدل کردن اطلاعات با کامپیوتر شماست را نشون میده.
State : وضعیت پورت را از نظر اینکه در حال ارتباطه یا فال گوشه نشون میده .
این فرمان میتونه شما را از وجود یه هکر که به سیستم شما نفوذ کرده مطلع کنه . بعداً میفهمید یعنی چه .

*** آدرس IP یا IP Address
عددیه که کامپیوتر یا سیستم مشخصی را در طول شبکه توضیح میده . یه چیزی تو مایه های پلاک واسه ماشین . هر سیستم در شبکه یه آدرس IP منحصر به فرد داره یعنی در یک زمان دو تا سیستم با یه آدرس IP وجود ندارن . طول این عدد 32 بیته و شامل 4 تا عدده که با نقطه از هم جدا میشن بصورت W.X.Y.Z که هر کدوم از این چهار عدد میتونن بین 0 تا 255 باشن . مثلاً آدرس IP سیستم من در این اتصال 216.122.12.214 هست . آدرس IP هر سیستم در واقع از دو قسمت تشکیل شده ، آدرس شبکه و آدرس اون سیستم در اون شبکه . روترها (مسیریابها) بوسیله Netmask میفهمند که کدوم قسمت از آدرس IP آدرس شبکه و کدوم قسمت آدرس یه سیستم تو اون شبکه اس . با ترکیب آدرس IP با Netmask بوسیله پیوند XOR معلوم میشه کدوم قسمت از آدرس IP مال شبکه هست . این موضوع را هر جا لازم شد مفصل توضیح میدم . فقط همینقدر بدونید که مسیریابها بوسیله Netmask قسمتهای آدرس IP را تشخیس میدن .
IP ها براساس عدد اولشون یعنی W کلاس بندی میشن که این کلاس بندی بصورت مطلق و همیشگی نیست . آدرس IP هایی که عدد اولشون یعنی W کمتر از 192 هستن (بجز 127) در کلاس جهانی قرار دارن و مخصوص سرورهایی در کلاس جهانی هستند . بین 192 تا 223 مربوط به سایر سرورها و کاربران Dial-up هستش .
آدرس IP سرورها ، سایتها و کامپیوترهایی که غیر از اتصال Dial-up به اینترنت متصل میشن یه عدد ثابته ولی واسه کاربرانی که بوسیله اتصال Dial-up در اینترنت قرار دارن با هر بار کانکت ممکنه تغییر کنن . برای اینکه آدرس IP کامپیوتر خودتون را در یک اتصال بدونید در Command prompt فرمان ipconfig را اجرا کنید . با این فرمان غیر از آدرس IP ، مشخصه Netmask و Gateway را هم میبینید . حالا این فرمان را اجرا کنید و نتیجه را ببینید .
برای پیدا کردن آدرس IP کسی که بوسیله یاهو مسنجر باهاش چت میکنید در Command prompt فرمان Netstat -na را اجرا کنید و در سطری که پورت 5101 (پورت برنامه یاهو مسنجر) نشون داده شده در مقابل ستون Foreign Address آدرس IP اون شخص را ببینید .




عباس اقایی ::: پنج شنبه 87/5/31::: ساعت 9:8 صبح

آیا تا بحال برایتان پیش آمده است که بخواهید برای منوهای خود آیتم‌های تصویری ایجاد کنید. در این مقاله می‌خوام بگم که چطور می‌شه در منوها تصویر قرار داد. شما می‌توانید کدهای زیر را در یک ماژوال کپی کرده و با استفاده از تابع زیر به منوهای خود تصویر اضافه کنید. در زیر توضیحی در مورد چگونگی کار با این تابع را خواهید آموخت.

AddMenuBitmap(SubMenuIndex As Byte, MenuIndex As Byte, UnCheckedPicture As IPictureDisp, CheckedPicture As IPictureDisp)

در آرگومان اول باید Index منویی را مشخص کنید که با کلیک بر روی آن منویی باز می‌شود گزینه مورد نظر شما در آن است. این شماره گذاری از صفر شروع می‌شود. برای مثال در همین Internet Explorer منوی فایل دارای Index صفر و منوی ادیت دارای Index یک است.

در آرگومان دوم باید Index منویی را مشخص کنید که گزینه مورد نظر شما در آن است. این شماره گذاری نیز از صفر شروع می‌شود. برای مثال در همین Internet Explorer منوی فرعی ...Open دارای Index یک است چون از بالا دومین گزینه است.

در آرگومان سوم باید مسیر تصویر خود را مشخص کنید. بهتر است که این تصویر را در یک Image List قرار دهید. نکته بعدی اینکه باید سایز تصویر شما 14 پیکسل در 14 پیکسل باشد. نکته آخر اینکه شما می‌توانید از تصاویری با فرمت bmp.* و jpg.* و gif.* استفاده کنید در ضمن شما می‌توانید از حالت Transparency نیز استفاده کنید. این تصویر در حالت تیک نخورده منو اعمال می‌شود.

در آرگومان چهارم باید مسیر تصویری را مشخص کنید که منو در حالت تیک خورده است.

 

این هم کدهای ماژول:


"Import Necessary API Functions To Use itmap Pictures In The Menus
   
    Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
    Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

    Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
   

"Import a Bitmap Constant To Use Bitmap Pictures In The Menus

    Private Const MFT_BITMAP = &H4&


Public Function AddMenuBitmap(SubMenuIndex As Byte, MenuIndex As Byte, UnCheckedPicture As IPictureDisp, CheckedPicture As IPictureDisp)

"Set Some Variable To Add Bitmap Pictures
    Dim MenuID As Long
    Dim SubMenu As Long
    Dim SubMenuID As Long

    MenuID = GetMenu(SplashFrm.hwnd)
    SubMenu = GetSubMenu(MenuID, SubMenuIndex)
    SubMenuID = GetMenuItemID(SubMenu, MenuIndex)

    SetMenuItemBitmaps MenuID, SubMenuID, MFT_BITMAP, UnCheckedPicture, CheckedPicture

End Function




عباس اقایی ::: پنج شنبه 87/5/31::: ساعت 9:8 صبح

 

زبان برنامه نویسی VB زبانی است که تقریبا شی گراست و از کنترل‌های ذاتی ویندوز استفاده می‌کند که در کتابخانه Comctl32 موجود می‌باشد اما ویژوال بیسیک بطور پیش فرض آنها را درخود دارد. خوب بریم سر مطلب خودمون. آیا تا بحال به شکل ظاهری کنترل‌ها در ویندوز XP توجه کرده‌اید؟ در این مقاله می‌خواهیم به شما یاد دهیم که چگونه می‌توانید ظاهر قدیمی کنترل‌های یک برنامه را به ظاهر XP آن تبدیل کنید.

شما می‌توانید برنامه‌هایی را که بصورت exe هستند و با یکی از زبانهای C و یا Java نوشته شده اند را به صورت ظاهر XP در بیاورید. برای اینکار متن زیر را در Notepad کپی کرده و بصورت زیر ذخیره نمایید.

YourExeFileName.manifest

توجه داشته باشید که عبارت manifest پسوند فایل بوده و عبارت YourExeFileName نام فایل exe شما به همراه پسوند exe است. بطور مثال پس از اینکه متن زیر را در Notepad کپی کردید باید فایلی به اسم vb6.exe.manifest ذخیره کنید و حتما در دایرکتوری فایل اجرایی vb6 کپی کرده تا ظاهر ویژوال بیسیک به صورتXP در بیاید. خوب فعلا این متن رو در Notepad کپی کنید.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0"
>
<assemblyIdentity
type="win32"
processorArchitecture="*"
version="6.0.0.0"
name="mash"
/>
<deion>Enter your Deion Here</deion>
<dependency>
   <dependentAssembly>
      <assemblyIdentity
           type="win32"
           name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
           language="*"
           processorArchitecture="*"
         publicKeyToken="6595b64144ccf1df"
      />
   </dependentAssembly>
</dependency>
</assembly>

خوب حالا باید این فایل رو به همان صورتی که گفته شد در دایرکتوری فایل exe ذخیره کنید. در ضمن به همان صورتی که گفته شد می‌توانید خود ویژوال بیسیک را نیز به صورت ظاهر XP در بیاورید. فقط دو نکته زیر را فراموش نکنید.

?.فایل شما باید به صورت YourExeFileName.exe.manifest ذخیره شود.

?.فایل شما باید در دایرکتوری فایل اجرایی ذخیره شود.

خوب بریم سراغ ویژوال بیسیک خودمان. اگر این روش را برای فایل‌های اجرایی که با ویژوال بیسیک نوشته شده اند را پیاده کنید برنامه شما هرگز اجرا نمی‌شود. برای تبدیل کردن ظاهر معمولی برنامه‌های ویژوال بیسیک به ظاهر XP آن باید در کدنویسی برنامه کمی تغییر ایجاد کنید.

ابتدا تابع زیر را در ویژوال بیسیک تعریف کنید

Declare Function InitCommonControls Lib "comctl32.dll" () As Long

سپس این تابع را در رویداد Initialize فرم خود فراخوانی کنید.

بعد از کامپایل کردن برنامه خود بصورت exe به همان روشی که گفته شد یک فایل manifest برای فایل اجرایی خود درست کنید. علت آن که برنامه‌هایی که با یک از زبان‌های سی یا جاوا نوشته شده‌اند با یک فایل manifest تبدیل می‌شود آن است که این برنامه بطور خودکار تابع گفته شده را اجرا می‌کنند که این مسئله به نوع زبان کامپایل کننده آنها بر می‌گردد.

شما می‌توانید متن مورد نیاز برای فایلmanifest را در Resource برنامه قرار دهید تا دیگر به فایل manifest نیاز نباشد. برای اینکار برنامه XP Style را دانلود کنید. این برنامه براحتی فایل‌های اجرایی را به ظاهر XP تبدیل می‌کند. البته فراموش نکنید که برای برنامه‌های که در محیط ویژوال بیسیک نوشته می‌شوند همچنان به فراخوانی تابع گفته شده در کدنویسی برنامه احتیاج دارید.

نکته دیگر اینکه با این روش کنترل برنامه‌های شما فقط در خود ویندوز XP بصورت ظاهر XP نمایان خواهد شد




عباس اقایی ::: پنج شنبه 87/5/31::: ساعت 9:8 صبح

DSL مخفف Digital Subscriber Line ،است که یک فناوری برای استفاده از خطوط تلفن برای دسترسی سریع (یه خورده سریعتر از اینترنت های معمولی) به اینترنت است. این تکنولوژی مزایای زیادی دارد که پرداختن به همه آنها از حوصله این مقاله خارج است. تنها به دو جنبه پر طرفدار و معروف آن اشاره می کنیم. با استفاده از تکنولوژی DSL شما می توانید، با استفاده از یک خط تلفن، همزمان هم به اینترنت متصل باشید و هم به تماسهای تلفنی خود به طور مجزا بپردازید. بدین صورت که همزمان با اتصال به اینترنت به منزل دوستان و آشنایان زنگ بزنید و از سایتی که همزمان از طریق اینترنت می بینید آنها را مطلع سازید، حتی دوست دیگرتان که همزمان با این کارها به شما زنگ می زند را زیاد پشت خط منتظر نگذارید و با او هم صحبت کنید! اینها شد یک مزیت این تکنولوژی.
مزیت دوم آن این است که سرعت آن !کمی بیشتر! از سرعت اتصال اینترنت های معمولی است (حدود 27 تا 147 برابر سرعت اینترنت معمولی که حداقل آن را 56K فرض کنیم!). سرعت این فناوری بین 1.5 Mbps تا 8Mbps می باشد که تفاوت بین این دو عدد به میزان فاصله تا سرویس دهنده اینترنت و اشغال بودن خط تلفن بستگی دارد. حتما می پرسید چه طور امکان دارد؟ پس بگذارید براتون تخصصی تر توضیح دهم. اگر همین خطوط درپیت تلفن تهران خودمون را در نظر بگیریم به طور پیش فرض پهنای باندی معادل 247 کیلو هرتز برخوردار است. یک تماس تلفنی صوتی حداکثر حدود 4 کیلو هرتز از این باند را اشغال می کند. حال اگر بتوان با فیلتری این 4 کیلو هرتز کانال صوتی را از بقیه باند جدا کرد، آنوقت ما 243 کیلو هرتز باند آزاد خواهیم داشت، که می توان با این میزان پهنای باند، با سرعتی حداقل حدود 1536 K به اینترنت متصل شد که در صورت داشتن فاصله کمتر از 2 کیلومتر با ISP این سرعت به میزان 8192 K افزایش می یابد که در مقایسه با حداکثر سرعت اینترنت های معمولی 56 K اختلافی چشمگیر دیده می شود، تازه امکان آزاد بودن خط تلفن برای برقرای ارتباط تلفنی را هم به آن اضافه کنید. علت اختلاف سرعت خطوط DSL که ارتباط مستقیم با سرعت اینترنت دارد، تفاوت سیگنالهای صوتی با اطلاعات است.
در مراکز تلفنی دستگاههایی وجود دارد که برای تقویت کانالهای صوتی به کار می روند، ولی اطلاعات (DATA) نمی توانند از آنها عبور کنند. به همین دلیل است که هر چه مراکز سوئیچینگ مخابرات بین شما و ISP شما کمتر باشد، سرعت تبادل اطلاعات نیز بیشتر می شود، (حالا می بینی از فردا همه یکی یه متر دستشون دارن خیابون متر می کنن!) ولی باز با در نظر گرفتن این کاهش سرعت حداقل سرعت باز بین همان 1536 K تا 8192 K می باشد که 27 تا 147 برابر سرعت کنونی اینترنت (در تهران) می باشد. البته این رو هم بگم که هزینه استفاده از این فناوری در ایران به واسطه استفاده بسیار زیادی که توسط آن از اینترنت به عمل می آید، به طور سرسام آوری بالاست و برای استفاده های شخصی به صرفه نیست




عباس اقایی ::: پنج شنبه 87/5/31::: ساعت 9:6 صبح

>> بازدیدهای وبلاگ <<
بازدید امروز: 1


بازدید دیروز: 3


کل بازدید :19519
 
 >>اوقات شرعی <<
 
>> درباره خودم<<
 
>>اشتراک در خبرنامه<<
 
 
>>طراح قالب<<