Decoding TCPIP
 

TCPIP تشکیل شده از چندین Protocols مانند TCP ,UDP ,IP ,ICMP . متخصص IT از چگونگی

کار این Protocol ها با یکدیگر و درنتیجه برقراری ارتیاط بین سیستم ها در شبکه باید اطلاع داشته باشد .

ما می دانیم که از IP برای مسیر دهی اطلاعات یا همان Route کردن اطلاعات استفاده می شود و از TCP برای جابجا کردن

اطلاعات .اما بیشتر ما از فیلدهای درون یک Packet از نوع TCPIP اطلاع نداریم.در اینجا کمی ریزتر و دقیق تر به یک Packet نگاه می کنیم .

 

TCPIP Connection از سه مرحله  برای شروع ارتباط (برای اولین بار) میان دو Computer تشکیل شده .

و ترکیب شده از سه Packet برای ایجاد ارتباط .

Synchronize (SYN) Packet

همیشه اولین Packet برای شروع SYN Packet می باشد .این Packet توسط Client به Server ارسال می شود دراینجا Client شروع کننده

ارتباط می باشد .

Synchronize/Acknowledgement (SYN/ACK) Packet

در مرحله بعد دومین Packet بنام SYN/ACK Packet توسط سرور به Client برگشت داده می شود یا ارسال می شود .

(ACK) Packet

در آخر ACK Packet برگشت داده می شود به Server از طرف Client

جالب بدانید که برگشت دادن ACK Packet به سرور از طرف Client بستگی مستقیم به نوع

Operation System موجود بر روی دستگاه شما دارد .در واقع مشخص می کند که مثلا سیستم شما دارای چه Windows با چه Version می باشد

Step 1 Source Host ===>  SYN Destination Host
Step 2 Source Host <===  SYN/ACK Destination Host
Step 3 Source Host ===> ACK Destination Host

در شکل زیر شما می توانید محتویات یک SYN Packet را مشاهده کنید یعنی مرحله اول یا Packet اول از سه Packet.

 

  

    Figure 1: Synchronize (SYN) Packet

برای مشاهده یا Monitor کردن TCPIP Traffic برنامه های گوناگون بصورت Free در Internet وجود دارد .

از این برنامه ها Hacker ها نیز استفاده می کنند .به همین دلیل در سایتهای معروف Hacker انواع آن را می توانید پیدا کنید .

برای نمونه نرم افزار IP Sniffer در Website : www.webattack.com یک نمونه از این برنامه ها می باشد .

در خود Windows Server نیز ابزار این کار وجود دارد Network Monitor.

برای دیدن یک نمونه مثال به قسمت Network Traffic Monitoring  در Part4 مراجعه کنید .

 

در قسمت زیر موارد مختلف موجود در Figure 1 را بررسی می کنیم .

09:09:52.283919

در این قسمت زمان و یا ساعت دریافت Packet را توسط سیستم شما نشان می دهد .تذکر فقط زمان دریافت را نشان میدهد

شش عدد آخر 283919 همان صدم ثانیه می باشد .

 
xxx.xxx.xxx.xxx.10459

در این قسمت Source Computer و Source Port مشخص شده .

در شکل بالا  سیستمی با آدرس 192.168.1.100 از Port 10459 این Packet را ارسال کرده

 
>

این علامت نشان دهنده مبدا به مقصد می باشد آدرس سمت چپ به آدرس سمت راست را نشان می دهد .

 
192.168.1.200.80

همان Destination Computer یا مقصد Packet می باشد و با مشخص شدن Destination Port همراه می باشد .

 
S

این حرف به ما می گوید که این Packet از نوع SYN می باشد .

 
[tcp sum ok]

این قسمت مربوط به Checksum می باشد و به ما می گوید که Checksum درست می باشد یا در واقع Valid است .

سیستم ارسال کننده Packet توسط یکسری الگوریتم محاسبه می کند اطلاعاتی را در Checksum و آن را در Header یک Packet

جاسازی می کند سیستم دریافت کننده نیزاز همان الگوریتم ها را برای محاسبه بر روی Checksum استفاده می کند اگر جواب بدست آمده ازهر دو سیستم

یکسان باشد Checksum = Valid در آن وقت سیستم آن Packet را به رسمیت می شناسد.

 
3153110659:3153110659

این قسمت نمایان کننده تعداد یا عدد مربوط به TCP Sequence Number  می باشد و عدد بعد از آنها که داخل پرانتز قرار دارد نمایان کننده

مقدار DATA اریال شده یا Sent شده توسط مبدا است زمانی که این عدد صفر باشد یعنی اینکه Packet شما اولین Packet می باشد همان طور که

در بالا گفتیم این شکل نمایان کننده SYN Packet می باشد پس همیشه اگر این عدد داخل پرانتز صفر باشد به ما می گوید که یک SYN Packet می باشد

تذکر SYN Packet دارای DATA نمی باشد و وفقط Header دارد .

 
win 32768

در این قسمت سیستم ارسال کننده به مقصد مقدار Buffer اطلاعاتی را که می خواهد دریافت کند از مقصد را مشخص می کند .

یعنی چه زمانی که ACK Packet  توسط Server دریافت شود آن وقت می تواند دیگر Data ها را ارسال کند در اینجا این عدد

نشان می دهد که مقدار DATA از چقدر بیشتر نشود این عدد توسط Application که بر روی Client می باشد  ارتباط  کنترل می شود  این عدد بطور مداوم تحت نظر است

در اینجا می توان حدس زد که سیستم ارسال کننده به یک Website اشاره دارد و می خواد ارتباط برقرار کند چون عدد Win 32768 مربوط می شود

به Internet Explorer IE شرکت Microsoft. پس متوجه شدیم که OS سیستم ارسال کننده Windows می باشد .

 
<mss536>

نمایان کننده مقدار DATA موجود در هر Packet می باشد در اینجا سیستم مقصد نمی تواند بیشتر از 536 Bytes اطلاعات مربوط به

قسمت DATA رادر هر Packet ارسال کند .

برای اطلاعات بیشتردر مورد DATA/PAYLOAD به قسمت TCPIP در Part1 رجوع کنید .

اطلاعات مربوط به DATA هر Packet می تواند تا 1540 Byte رشد کند در Ethernet Networks.

 
(ttl 63, id 60989, len 44)

TTL نمایان کننده تعداد Hop های یک Packet در میان Router ها می باشد یعنی یک Packet با TTL63 می تواند قبل از رسیدن

به آدرس مقصد 63 Router را رد کند زمانی که یک Router یک Packet را عبور دهد یک TTL از آن کم می کند وقتی یک Packet با ttl1 به یک

Router برسد Router آن Packet را ازبین می برد  و ICMP Error ارسال می کند به ارسال کننده آن Packet.

این عمل موجب جلوگیری کردن از پرواز کردن یا عبور و مرور Packet ها در شبکه  تا بی نهایت می شود .

در نتیجه هر Packet یک عمری را باید داشته باشد .زمانی که شما یک Linux Computer را Ping کنید ttl=64 این عدد در Windows مساوی با 128

id 60989 این عدد ID می باشد که به IP Header داده شده.برای اینکه یک Packet توسط Router ها تکه تکه می شوند برای دوباره به هم پیوستن آنها باید

هر تکه ID یکسان داشته یاشد .ID های یکسان دویار تشکیل Packet را که تقسیم شده بود را می دهند .Destination Host برای دوباره بازسازی Packet

تکه تکه شده به این ID ها نیاز دارد.

 

در زیر مشخصات نویسنده این مقاله را مشاهده می کنید .

Decoding TCPIP

Don Parker works in a high-assurance environment where he is employed as a network security analyst. He has been a guest speaker at various computer security conferences, and holds the GCIA and GCIH certifications. His Web site is http://www.bridonsecurity.com/.

 

Last Updated: October 01, 2006

Winteacher.com
Decoding TCPIP

 © 2003-2006 Winteacher.com . All rights reserved