مفاهیم ...
آنچه در زیر آورده شده است مفاهیم اولیه شبکه است و آنچه که در برنامه نیسی شبکه (کامپوننتهای Indy) لازم خواهید داشت ...
TCP/IP
مخفف Transmission Control Protocol and Internet Protocol است.
Client
در ارتباط تلفنی ، کلاینت کسی است که ارتباط را برقرار کرده (شماره گرفته) است
اساس کار کلاینت این است که در صورتی که سروری منتظرش باشد فعال می شود و یکسری دستوراتی را از پورت پیشفرض به وی ارسال میدارد تا او خدماتی را برایش انجام دهد.
اگر خدای ناکرده با sub7 کار کرده باشید ، فایلی را که برای قربانی ارسال کرده بودید server بود چون قرار بود به شما خدمتی کند فایلی که محیط اصلی sub7 بود همان کلاینت است.
Server
سرور فرایندی (پردازش) است که به تقاضاهای وارده از سوی کلاینتها پاسخ میدهد. مانند کسی که شماره او را گرفته اید و با برداشتن گوشی می گوید: الو مزاحم نشوید!
سرور به پورت گوش می دهد تا تقاضای رسیده از کلاینت را بشنود
اگر سرور در حالت شنود نباشد و بخواهید کلاینت را راه اندازی کنید با خطا مواجه می شوید
IP Address
آدرس IP همانند شماره تلفن است.
هر کامپیوتری که وارد شبکه می شود می بایست یک آدرس منحصر به فرد و یکتا داشته باشد تا توسط آن آدرس ردیابی و شناسایی شود. آدرس IP عددی است 32 بیتی که توسط نقطه از هم جدا شده اند. 255.255.255.255
IP به 5 کلاس A,B,C,D,E تقسیم شده است که در هر کلاس رنج خاصی گنجانده شده است.
به دو نوع ایستا و پویا است. ایستا یعنی این آدرس تغییر نمیکند مثل آدرس یاهو ؛ پویا یعنی با هر بار ورود به دنیای شبکه آدرس جدیدی میگیرد مثل آدرس فعلی شما!
اگر نفوذگری آدرس IP شما را به خود اختصاص دهد(IP Spoofing) هر آنچه که برای شما ارسال میشود را دریافت خواهد کرد
Port Number
عددی است صحیح ؛ بین یک تا شش هزار و خورده ای که تا 1024 آن توسط سیستم عامل اختصاص داده شده و بهتر است از اعداد بالاتر از آن استفاده کنید.پورت مورد بحث نرم افزاری است. پورت دو نوع است TCP یا UDP ( موضوع بحث ما TCP است)
User Datagram Protocol
Transmission Control Protocol
هر برنامهای که بخواهد از طریق شبکه قابل دسترس باشد باید پورت باز کند. پس یک برنامهای که نیازی به برقراری ارتباط شبکهای ندارد (مثلا یه نرمافزار گرافیکی) نباید پورت باز کند ضمنا هر پورتی زبان خاص خود را دارد و فقط آن دستورات را میشناسد ( خود نیز می توانید برای آن زبان بسازید) توجه کنید که هر گاه پورتی باز باشد به معنای آن است که پردازشی به آن پورت گوش میدهد تا فرامین کلاینت را اجرا کند.
نفوذ گران با اسکن کردن پورتهای قربانی متوجه می شوند که چه نرم افزاری بر روی آن پورت نصب شده است تا از نقاط ضعف آن استفاده کنند. لذا وقتی از دیوار آتشین استفاده میکنید اجازه باز شدن پورت (و لو رفتن اطلاعات) توسط هر مهمان ناخوانده ای را میگیرید.
حال می خواهیم بدانیم چگونه باید با پورتها ارتباط برقرار کنیم... راحتترین راه ، استفاده از تلنت است.
C:\> Telnet RemoteHost/IP Port
اگر خاطرتان باشد گفتم که هر پورتی زبانی دارد. اینکه پورت چه دستوراتی دارد را به خودتان واگذار میکنم و در زیر به عملکرد چند پورت معروف اشاره میکنم
پورت 13: تاریخ و ساعت کامپیوتر مقصد را نشان میدهد
C:\> Telnet 127.0.0.1 13
پورت 7 : عمل echo را انجام میدهد یعنی هر چه را برایش تایپ کنید عینا باز میگرداند
پورت ۷۹ : پورت ۷۹ را پورت finger میگویند. کاربرد این پورت به اوایل ایجاد اینترنت برمیگردد و کاربردش مخصوص سیستمعامل یونیکس بودهاست (الان هم تقریبا فقط در خانواده سیستمهای یونیکس این پورت قابل استفاده است).
وقتی این پورت روی سیستمعامل یونیکس باز باشد، میشود با یک request ساده فهمید که از بین کسانی که در آن سیستم account دارند، کدامها on هستند (یعنی کدامها به سیستم login شدهاند). برنامهای که پورت ۷۹ را در یک سیستم باز میکند، finger server میگویند
پورت 80 : پورت مربوط به وب
پورت 25 : SMTP برای ارسال ایمیل استفاده میشود. در صورت دور زدن رمز عبور (و یا عدم حفاظت توسط رمز عبور) می توانید ایمیل جعلی به هر کسی ارسال کنید
پورت 110 : POP3 برای خواندن ایمیل است با سو استفاده از رمز دیگران می توانید وارد صندوق پستی قربانی شوید.
پورت 139: NetBios . در صورتی که کامپیوتری فایل ، سخت افزار یا پارتیشنی را به اشتراک گذاشته باشد میتوانید از آن استفاده کنید برای اینکه حس پلیدتون رو اکتیو کنم فرض کنید چاپگر به اشتراک گذاشته شده حال شما میتوانید هر ناسزایی را به کامپیوتر قربانی ارسال کنید!
برای ارتباط با این پورت به جای telnet از nbtstat استفاده میکنیم
پورت 21: FTP با این سرویس می توانند به تبادل فایل بپردازند. اگر توسط رمز محافظت شود که نمی توانید محتوای پوشه ها را ببینید وگرنه به راحتی می توانید تمام فایلها را دانلود کنید و اگر اجازه داده شده باشد آپلود کنید
پورت 119: NNTP تمام خبرنامه های گروه های خبری اینجا است
پورت 70: Gopher خودتون برین دنبالش!
Ping
سر نام Packet Internet Groper . پروتکولی برای آزمایش اینکه یک کامپیوتر خاص به اینترنت متصل است یا خیر. برای این کار بسته ای برای دریافت پاسخ به نشانی IP آن ارسال می شود.
با لغو عمل پینگ مانع از آن میشوید که on بودن شما را شناسایی کنند
c:\>ping 127.0.0.1
RAS
1- سرویس دهنده با امکان دستیابی از راه دورremote access server
یک میزبان در یک LAN که برای فراهم کردن امکان اتصال به شبکه از طریق خطوط تلفن، به مودم مجهز است.
2- remote access service نرم افزاری تحت ویندوز که به کاربران امکان می دهد تا از طریق یک مودم، از راه دور به سرویس دهنده یک شبکه دستیابی پیدا کنند.
Who is
یکی از خدمات اینترنت که توسط برخی از حوزه ها فراهم می شود و به کاربر امکان می دهد تا نشانی های پست الکترونیکی دیگر و اطلاعات کاربران را از فهرستی که در یک بانک اطلاعاتی موجود است پیدا کنند .
Where is
یکی از خدمات اینترنت که به دنبال پیدا کردن یک کامپیوتر جهت انجام یک پردازش سنگین می توان گشت.
Socket
به طور خلاصه یعنی همان تماس تلفنی در مثالهای قبلی
Host Name
نام خوانای یک کامپیوتر؛ تا انسان از شر حفظ کردن آدرس IP خلاص شود مثل barnamenevis
DNS
سرویسی که نام را به IP تبدیل میکند
Local
یعنی محلی، یعنی خودتان !
Remote
یعنی راه دور ، یعنی مقصد