نمایش پست تنها
  #20  
قدیمی 09-29-2009
deltang deltang آنلاین نیست.
کاربر عالی
 
تاریخ عضویت: Mar 2009
محل سکونت: TehrAn
نوشته ها: 6,896
سپاسها: : 0

200 سپاس در 186 نوشته ایشان در یکماه اخیر
deltang به Yahoo ارسال پیام
پیش فرض

آشنايي با Netstat و دستورات آن:

در اين قسمت ميخوام راجب برنامه Netstat و دستورات آن کمي توضيح بدم تا شما يک آشنايي با اين برنامه داشته باشين ، خب هر وقت صحبت از Netstat ميشه همه به ياد فرمان Netstat -n مي افتن غافل از اينکه Netstat دستورات زيادي داره که بعضي از آنها به يک هکر کمکهاي زيادي ميکنه که من تمام دستورها را براتون توضيح ميدم ولي قبلش بايد بفهميم که اصلاً Netstat چيه و چکار ميکنه ؟


فهميدن پورتها و آيپي هاي سيستمها و ماشين هايي که ما با آنها در ارتباط هستيم بکار ميره ، براي استفاده از Netstat احتياج به هيچ برنامه کمکي و اضافي ندارين فقط کافيه به MS-DOS Prompt برين و دستوراتي که در ادامه اين مقاله ميگم را تايپ کنيد ، ولي خب برنامه هاي زيادي براي استفاده آسان تر
از Netstat آمده که احتياجي به رفتن در Ms-Dos نداره و کار کاربران اينترنت و شبکه را راحت تر کرده که يکي از بهترين برنامه ها براي اينکار

اين برنامه همچنين سيستمهايي که از خارج سعي ميکنن به سيستم شما وصل بشن را هم نشان ميده و آيپي آنها را مشخص ميکنه ، درست مثل يک فايروال و همچنين پورتهاي Local و Remote و پروتکل هايي که شما با آنها ارتباط دارين را مشخص ميکنه .

دستور: Netstat دستور Netstat فرمان اصلي اين برنامه هست که با تايپ اين دستور شما متوجه آيپي سيستمها و پورتهايي که با آنها در ارتباط هستين بدست ميارين و همچنين مشاهده ميکنين که پورتهايي Listening و يا Established هستن و چه چيزي روي پورتهاي مختلف در حال شنيده شدن هست که خب اين باعث ميشه اگر پورتي مخصوص يک تروجن مثل 27374 که پورت اصلي Sub7 هست در سيستم شما باز بود شما متوجه اين پورت باز بروي سيستمتان بشين.
اگر در قسمتForeign Address هم يک آيپي بوسيله آن پورت به سيستم شما وصل بود شما ميفهمين که يک نفر با آن آيپي در سيستم شماست ، پس اين يک راهي هست که متوجه بشين سيستمتان آسيب پذير هست يا نه ، براي مثال من با تايپ دستور Netstat در Ms-Dos اين نتايج را گرفتم :

Active Connections
Proto Local Address Foreign Address State
TCP behrooz:1454 cs33.msg.sc5.yahoo.com:5050 ESTABLISHED
TCP behrooz:1488 63.123.44.222:80 ESTABLISHED
TCP behrooz:1491 opi1.vip.sc5.yahoo.com:80 TIME_WAIT
TCP behrooz:1497 64.187.54.23:80 ESTABLISHED
TCP behrooz:1498 64.187.54.23:80 ESTABLISHED

همانطور که ملاحظه ميکنيد اين دستور گاهي اوقات اسم صاحب سيستم کلاينتي که شما با آن در ارتباط هستين را نيز ميده و چون اينجا من با کسي در PM نبودم اسم کسي را نميبينيد ولي اگر کسي با من چت کنه و دستور Netstat را بزنه اسم ساجد را ميبينه و متوجه ميشه که اين صاحب آن سيستم کلاينتي هست که داره با آن چت ميکنه و همچنين مشخصه که من با پورت 5050 با ياهو مسنجر ارتباط برقرار کردم و همچنين نتايجي که در زير Local Address مشخص اطلاعاتي درباره خود من هست



و نتايجي که در Foreign Address بدست مياد مشخص ميکنه که ما با چه سرور يا کلاينتي در ارتباطيم که در سطر دوم مثال بالا يعني 63.123.44.222:80 که آيپي سايت ياهو هست من در سايت ياهو بودم و به وسيله پورت 80 که پورت Http هست من با اين وب سرور ارتباط برقرار کردم و در قسمت Status هم مشخص ميشه که شما با چه پورتهايي Established هستين
يعني ارتباط برقرار کردين و وصل هستين و چه پورتهايي Listening يا منتظر Request و در حال شنيدن هستن ، بنابراين ميشه با دستور Netstat يک عمل مانيتورينگ از تمام آيپي ها - پورتها و ماشينهايي که شما با آنها در ارتباطين گرفت .




دستور Netstat -n :
همانطور که در بالا توضيح دادم ميشه با استفاده از Netstat آيپي و پورت سيستمي که شما با آن در ارتباطين را بدست آورد حتا ميشه آيپي کسي داره با شما از طريقه PM در مسنجر چت ميکنه را هم بدست آورد چون وقتي شما مسنجرها را باز ميکنيد با يک پورت خاصي شما با مسنجر ارتباط برقرار ميکنين که مثلاً شما با پورت 5050 با ياهو مسنجر ارتباط برقرار ميکنين .
شما با استفاده از دستور Netstat -n که در MS-DOS تايپ ميکنين ميتونين آيپي طرف را بدست بيارين اگرچه من چند وقت پيش برنامه ProPort را معرفي کردم که اينکار را با قابليتهاي بيشتري انجام ميده ولي با اين دستور هم ميشه اينکار را کرد .
اگر شما بعد از تايپ اين دستور و در نتيجه بدست آمده در قسمت Foreign Address با آيپي سيستمي بوسيله پورت 5101 ارتباط برقرار کرده بودين مطمئن باشين آن آيپي براي کسي هست که داره با شما چت ميکنه مثلاً من با تايپ دستور Netstat -n اين نتايج را گرفتم :

Proto Local Address Foreign Address State
TCP 207.117.93.43:1425 216.136.175.226:5050 TIME_WAIT
TCP 207.117.93.43:1431 64.242.248.15:80 ESTABLISHED
TCP 207.117.93.43:1437 213.102.29.137:5101 ESTABLISHED
همانطور که ملاحظه ميکنيد من در اين لحظه با آيپي 213.102.29.137 در حال چت کردن بودم که اشتراکش هم از وطنیه بوده و آيپي خود من هم در قسمت Local Address مشخص ميشه ، در قسمت Proto نيز پروتکلي که ما بوسيله آن با يک سيستم ارتباط برقرار کرديم مشخص ميشه که اينجا از طريقه پروتکل TCP هستش .
دستور Netstat/? :
شايد بهتر بود من اين دستور را قبل از 2 دستور Netstat و Netstat -n معرفي ميکردم چون اين دستور راهنما يا Help برنامه Netstat هست که با تايپ کردن آن شما يک صفحه کامل راجب فرمان Netstat ميبينين و توضيح مختصري هم در جلوي هر دستور مشاهده ميکنيد ، شما با تايپ اين دستور به اين نتايج ميرسين:

Displays protocol statistics and current TCP/IP network connections.
NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]
a Displays all connections and listening ports.
-e Displays Ethernet statistics. This may be combined with the -s
option.
-n Displays addresses and port numbers in numerical form.
-p proto Shows connections for the protocol specified by proto; proto
may be TCP or UDP. If used with the -s option to display
per-protocol statistics, proto may be TCP, UDP, or IP.
-r Displays the routing table.
-s Displays per-protocol statistics. By default, statistics are
shown for TCP, UDP and IP; the -p option may be used to specify
a subset of the default.
interval Redisplays selected statistics, pausing interval seconds
between each display. Press CTRL+C to stop redisplaying
statistics. If omitted, netstat will print the current
configuration information once
البته ابن تمام دستورات Netstat نيست و کلاً Help کاملي نيست ولي براي کساني که ميخواهن دانش سطحي از Netstat بدست بيارن مفيد و ميتونن از اين دستور و help آن کمک بگيرن ولي من توضيح بيشتري راجب هر دستور ميدم .


دستور Netstat -na :
با تايپ کردن اين دستور در MS-DOS Prompt تمام پورتهايي که داده ها و بسته ها را ميفرستن مشخص ميشه ، نشان " na " در تمام دستورات به معني نمايش همه پورتها و ليست کردن آدرسهاي شبکه و شماره فرمها در يک قالب عددي هستش ، براي مثال من با تايپ اين فرمان در MS-DOS اين نتايج را گرفتم :

Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:1954 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1971 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5101 0.0.0.0:0 LISTENING
TCP 64.110.148.59:1954 207.46.106.21:1863 ESTABLISHED
TCP 64.110.148.59:1971 216.136.225.36:5050 ESTABLISHED
TCP 64.110.148.59:2031 63.121.106.74:80 TIME_WAIT
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
UDP 0.0.0.0:1958 *:*
UDP 64.110.148.59:9 *:*
UDP 64.110.148.59:137 *:*
UDP 64.110.148.59:138 *:*
UDP 127.0.0.1:1037 *:*
UDP 127.0.0.1:1074

خب ميبينيد که پورتهاي باز روي سيستم من ليست شده مثل 1854-1971-2031 ... اين دستور همان دستور Netstat -an هست که هر 2 تا يک عمل را انجام ميدن و کارشون اينه که پورتها را با معادل عدديشان نشان ميدن مثلاً پورت Netbios را با معادل عدديش يعني 139 نشان ميدن ، درست مثل دستور Netstat -n که آيپي ها را با معادل عدديشان نشان ميداد ، اين دستور پورتها را با معادل عددي نشان ميده .
دستور Netstat -a :
اين دستور نيز مثل دستور Netstat -an يا -na عمل ميکنه فقط فرقش در اينه که اين دستور پورتها را با معادل اسميشان نشان ميده ، براي مثال پورت 139 را با معادل اسميش يعني Netbios نشان ميده و همچنين مانند دستور Netstat اسم صاحب سيستم را هم نشان ميده ، مثلاً من با تايپ اين دستور در MS-DOS به اين نتايج سيدم :


Active Connections
Proto Local Address Foreign Address State
TCP behrooz:2055 BEHROOZ:0 LISTENING
TCP behrooz:5101 BEHROOZ:0 LISTENING
TCP behrooz:2047 BEHROOZ:0 LISTENING
TCP behrooz:2055 cs43.msg.sc5.yahoo.com:5050 ESTABLISHED
TCP behrooz:nbsession BEHROOZ:0 LISTENING
TCP behrooz:2047 baym-cs21.msgr.hotmail.com:1863 ESTABLISHED
TCP behrooz:1025 BEHROOZ:0 LISTENING
UDP behrooz:2053 *:*
UDP behrooziscard *:*
UDP behrooz:nbname *:*
UDP behrooz:nbdatagram *:*
UDP behrooz:nfs *:*
UDP behrooz:1037

خب همانطور که ملاحظه ميکنيد بعضي از پورتهاي اصلي با معادل اسمي نشان داده شدن مثل پورت nbsession ولي اين دستور براي تست کردن نقطه ضعفها و پورتهاي باز در سيستم خودمان خيلي مفيده و اگر سيستم آلوده به تروجن بود ميشه از اين دستورها و کلاً برنامه Netstat اين موضوع را فهميد ، پس آنهايي که سوال ميکنن ما چطوري بفهميم سيستم خودمان آلوده به تروجن هست يا نه ، استفاده از اين دستور و کلاً دستورات Netstat ميتونه خيلي بهشون کمک کنه .
خب تا اينجا شد 4 تا دستور ، اين 4 تا دستور تمام ارتباطهاي شما در شبکه را در MS-DOS نشان ميده ولي مخصوص پروتکل خاصي نبود ، يعني آيپي و پورتها را در TCP - UDP , ... نشان ميداد ولي حالا ميخوام يک دستور ديگه Netstat را بهتون معرفي کنم که بايد خود شما پروتکل را انتخاب کنيد تا ارتباطهاي شما را در آن پروتکل نشان بده .

دستور Netstat -p xxx :
منظور از xxx يعني آن پروتکلي که شما در نظر دارين که ميتونه TCP و UDP باشه ، من با تايپ اين دستور در MS-DOS به اين نتيجه رسيدم :

Active Connections
Proto Local Address Foreign Address State
TCP behrooz:1030 baym-cs12.msgr.hotmail.com:1863 ESTABLISHED
TCP behrooz:1036 cs46.msg.sc5.yahoo.com:5050 TIME_WAIT
TCP behrooz:1059 svcs.microsoft.com:80 TIME_WAIT
TCP behrooz:1060 msntoday.msn.com:80 TIME_WAIT
TCP behrooz:1063 207.46.134.30:80 TIME_WAIT
TCP behrooz:1067 207.46.134.30:80 TIME_WAIT
TCP behrooz:1073 digital-island-bos-37.focaldata.net:80 CLOSE_WAIT
IT
TCP behrooz:1074 digital-island-bos-37.focaldata.net:80 CLOSE_WAIT
IT
TCP behrooz:1077 cs46.msg.sc5.yahoo.com:5050 ESTABLISHED
TCP behrooz:1087 64.124.82.13.akamai.com:80 ESTABLISHED
TCP behrooz:1111 64.124.82.21.akamai.com:80 ESTABLISHED

که همانطور که مشاهده ميکنيد من ارتباطم را در پروتکل TCP امتحان کردم براي مثال با MSN Messanger با پورت 1863 و با آدرس





دستور Netstat -e :
اين دستور نيز يکي از دستورات Netstat هستش که آماري از ارتباطها و بسته ها و شماره هاي ارسال و ذخيره بسته ها و داده ها را نشان ميده ، من با تايپ دستور Netstat -e در MS-DOS Prompt اين نتايج را گرفتم :


Interface Statistics
Received Sent
Bytes 628308 224952
Unicast packets 2288 2218
Non-unicast packets 111 111
Discards 0 0
Errors 0 0
Unknown protocols 74

اين دستور بيشتر براي ويندوزهاي 9x - ME و همينطور مودمهايي که آمار بسته ها را نميدن خوبه چون در ويندوز 2000 - XP قسمتي از اين آمار براحتي در اختيار User قرار ميگيره ، شما ميتونين با استفاده از اين دستور ترافيک ISP و شبکه را ببينيد و همينطور برنامه هايي که دارين دانلود ميکنيد را چک کنيد و يا اگر بسته اي در ارسالش مشکلي پيش بياد ميتونين در قسمت Errors مشاهده کنيد ، ...



دستور Netstat -r :
اين دستور توسط کاربران معمولي اينترنت زياد بکار گرفته نميشه چون درک بعضي از گزينه هاش براي کاربران عادي دشوار ، بحرحال اين دستور جزييات دقيقي مثل آدرس Gateway - Interface Metric -Netmask , ... درباره آدرس آيپيتون در شبکه ميده ، همچنين در ويندوزهاي ME- 98کار دستور Netstat -a روهم انجام ميده ، براي هکينگ نيز اين دستور و کلاً اطلاعات Routing Tables مهم و مفيده ، من با تايپ اين دستور اين نتايج را گرفتم :

Route Table
===================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2000003 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
===================================
===================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 64.110.148.61 64.110.148.61 1
64.110.148.48 255.255.255.255 64.110.148.61 64.110.148.61 1
64.110.148.61 255.255.255.255 127.0.0.1 127.0.0.1 1
64.255.255.255 255.255.255.255 64.110.148.61 64.110.148.61 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 224.0.0.0 64.110.148.61 64.110.148.61 1
Default Gateway: 64.110.148.61
==================================
Persistent Routes : None

که البته اين دستور را من در ويندوز 2000 استفاده کردم و اگر شما در ويندوز ME يا 9x اين دستور را تايپ کنيد نتايج بيشتري از ارتباطهايتان خواهيذ گرفت .
خب دوستان اين دستورهايي که راجبشون توضيح دادم معروفترين و پرکاربردترين دستورهاي Netstat بود ولي بجز اينها دستورهاي ديگري هم وجود داره که ديگه فکر نکنم توضيح راجب آنها ضروري بنظر برسه ولي براي اينکه خود شما هم تمريني کرده باشين اين دستور را تست کنيد : Netstat -s و ببينيد که چه اطلاعاتي ميتونيد با دادن اين دستور بدست بياري. X-Netstat هست که اطلاعات زيادي از ارتباطهاي شما وقتي که به شبکه وصل هستين ميده ، درست مثل برنامه Netstat.exe ولي به صورت گرافيکي و تحت ويندوز . IP/Hostname
ort open ===> behrooz:1488 C:\WINDOWS>netstat /? C:\WINDOWS>netstat –na C:\WINDOWS>netstat -a baym-cs12.msgr.hotmail.com ارتباط برقرار کردم و شما اگر ميخواين آيپي اين سرور را بفهمين ميتونين از دستور Netstat -n استفاده کنيد و آيپي که قبل از پورت 1863 در آن دستور مشاهده ميکنيد آيپي اين سرور هست . D:\>netstat –r Netstat هم مثل Netbios يک برنامه خدماتي هست که در خود سيستم عاملها گذاشته شده ، مثلاً در ويندوز 9x و Me در پوشه \Windows با اسم Netstat.exe قرار گرفته و در ويندوزهاي بر پايه NT مثل 2000 نيز در پوشه D:\WinNT\System32 قرار گرفته و کلاً براي نمايش تمام ارتباطات ما در شبکه Active Connections C:\WINDOWS>netstat -p TCP C:\WINDOWS>netstat -e C:\WINDOWS>netstat
پاسخ با نقل قول
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید