۲۶-خرداد-۱۳۹۲, ۲۳:۳۳:۵۸
سلام
همونطور که میدونید برای اینکه یک ارتباط در شبکه برقرار بشه؛ بستههای ارسال ما در مسیر توسط مسیر یاب و ... هدایت میشن تا به مقصد برسن؛
یک سری ابزار هایی بوجود اومده همانند tracerout در لینوکس و tracert در ویندوز که کار این بسته ها اینه که با دستکاری پکت ها کاری کنند که مسیریابهای بین راه معلوم بشه! (البته مسول اون مسیر یاب یا سیستم میتونه احازه نده سیستم شناسایی بشه و ...)
این برنامه ها با دستکاری فیلد ttl میان و این کار رو انجام میدن!
در این اسکزیپت که به زبان bash نوشتم اومدم و با استفاده از ابزار ping فیلد هایی با ttl های مختلف تولید میکنم؛ با این کار میتونیم بستهی خودمون رو رد یابی کنیم و در واقع tracerout رو شبیه سازی کنیم!
با استفاده از برنامه GeoIP که قبلا ایحاد کرده بودم در این آدرس میتونیم خروجی این اسکریپت رو به برنامه GeoIP بدیم و کشور این بسته ها رو هم پیدا کنیم!
کد برنامه:
نحوه اجرا هم که سادست!
توی یه فایل ذخیره میکنیم ؛ برنامه GeoIP رو میزاربم کنار فایل برنامه
و به شکل زیر اجرا میکنم:
برای مثال میخواییم ببینیم 30 تا از مسیریاب هایی که بین من تا ایران لد هست چه IP هایی دارند و برای کدوم کشور ها هستند!
خروجی:
نکنه ۱: اون دومین آیپی آیپی منه که سانسور شده
نکته ۲ : وقتی بسته به مقصد برسه آیپی مقصد؛ تکرار میشه که میشه از این جا متوجه شد بسته به مقصد رسیده! (برای قطی برنامه از ctrl + C استفاده کنید)
باز بگید ویندوز خوبه
همونطور که میدونید برای اینکه یک ارتباط در شبکه برقرار بشه؛ بستههای ارسال ما در مسیر توسط مسیر یاب و ... هدایت میشن تا به مقصد برسن؛
یک سری ابزار هایی بوجود اومده همانند tracerout در لینوکس و tracert در ویندوز که کار این بسته ها اینه که با دستکاری پکت ها کاری کنند که مسیریابهای بین راه معلوم بشه! (البته مسول اون مسیر یاب یا سیستم میتونه احازه نده سیستم شناسایی بشه و ...)
این برنامه ها با دستکاری فیلد ttl میان و این کار رو انجام میدن!
در این اسکزیپت که به زبان bash نوشتم اومدم و با استفاده از ابزار ping فیلد هایی با ttl های مختلف تولید میکنم؛ با این کار میتونیم بستهی خودمون رو رد یابی کنیم و در واقع tracerout رو شبیه سازی کنیم!
با استفاده از برنامه GeoIP که قبلا ایحاد کرده بودم در این آدرس میتونیم خروجی این اسکریپت رو به برنامه GeoIP بدیم و کشور این بسته ها رو هم پیدا کنیم!
کد برنامه:
کد php:
#/bin/sh
#Mohammad Babyy
#IranLED.com/forum
ip=$1
ttls=$2
ttle=$3
for i in $(seq $ttls $ttle)
do
returnip=$( ping $ip -c 1 -t $i|grep -i from |grep -E -o "((([0-9]{1,3}\.){3}[0-9]{1,3}){1})" | head -n 1 )
printf "%17s ~> $(./search $returnip)\\n" $returnip
done;
نحوه اجرا هم که سادست!
توی یه فایل ذخیره میکنیم ؛ برنامه GeoIP رو میزاربم کنار فایل برنامه
و به شکل زیر اجرا میکنم:
برای مثال میخواییم ببینیم 30 تا از مسیریاب هایی که بین من تا ایران لد هست چه IP هایی دارند و برای کدوم کشور ها هستند!
کد php:
./trout iranled.com 1 30
کد php:
192.168.1.1 ~>
*** ~> Iran
10.237.32.6 ~>
10.237.32.113 ~>
10.234.219.1 ~>
10.234.120.242 ~>
78.38.240.253 ~> Iran
78.38.255.69 ~> Iran
213.248.76.41 ~> Europe
213.248.76.41 ~> Europe
213.155.132.195 ~> Europe
213.155.132.195 ~> Europe
213.248.70.238 ~> Europe
154.54.37.173 ~> United States
154.54.77.222 ~> United States
38.104.154.202 ~> Canada
67.205.127.93 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
67.205.76.146 ~> Canada
^C
نکنه ۱: اون دومین آیپی آیپی منه که سانسور شده
نکته ۲ : وقتی بسته به مقصد برسه آیپی مقصد؛ تکرار میشه که میشه از این جا متوجه شد بسته به مقصد رسیده! (برای قطی برنامه از ctrl + C استفاده کنید)
باز بگید ویندوز خوبه