سوال : پیدا کردن مک آدرس با php ؟

25mordad

Member
سلام
چطور می توانم آدرس مک بازدید کننده سایت را پیدا کنم ؟
البته نکات زیر را هم در نظر بگیرید ..
1 - باید ببینیم که اصلا در پروتکل tcp/ip آدرس مک کامپیوتر کاربر در هدر ها ارسال می شود یا خیر ؟ که البته فکر می کنم که ارسال نمی شود.
2 - فرض کنیم که یک دستوری وجود دارد که می توانیم فوری این مک را بگیریم آیا مک کاربر را می دهد یا سروری که کاربر با آن به اینترنت وصل است و یا شایدم یکی از روتر ها
3 - طی بررسی هایی که داشتم و گوگلیدم به هیچ نتیجه ی راضی کننده ای نرسیدم زیرا کد زیر را پیدا کردم ولی آیا این کد در روی همه سرور ها کار می کند یا خیر ..


PHP:
<?php
function returnmacaddress() {
// This code is under the GNU Public Licence
// Written by michael_stankiewicz {don't spam} at yahoo {no spam} dot com
// Tested only on linux, please report bugs

// WARNinG: the commands 'which' and 'arp' should be executable
// by the apache user; on most linux boxes the default configuration
// should work fine

// Get the arp executable path
$location = `which arp`;
$location = rtrim($location);
// Execute the arp command and store the output in $arpTable
$arpTable = `$location -n`;
// Split the output so every line is an entry of the $arpSplitted array
$arpSplitted = split("\n",$arpTable);
// Get the remote ip address (the ip address of the client, the browser)
$remoteIp = $GLOBALS['REMOTE_ADDR'];
$remoteIp = str_replace(".", "\\.", $remoteIp);
// Cicle the array to find the match with the remote ip address
foreach ($arpSplitted as $value) {
// Split every arp line, this is done in case the format of the arp
// command output is a bit different than expected
$valueSplitted = split(" ",$value);
foreach ($valueSplitted as $spLine) {
if (preg_match("/$remoteIp/",$spLine)) {
$ipFound = true;
}
// The ip address has been found, now rescan all the string
// to get the mac address
if ($ipFound) {
// Rescan all the string, in case the mac address, in the string
// returned by arp, comes before the ip address
// (you know, Murphy's laws)
reset($valueSplitted);
foreach ($valueSplitted as $spLine) {
if (preg_match("/[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f]/i",$spLine)) {
return $spLine;
}
}
}
$ipFound = false;
}
}
return false;
} 
?>
اگر برو بچ توضیحی در ورد این کد ارائه بدن .. لطف کردن .. در ضمن این تابع از دستور arp استفاده می کنه و خودش هم توضیح می ده که باید جایگذاری بشه ولی چه جوری ؟
 

Omid PLUS

Member
بنا به ساختار اینترنت و نحوه کارکردن پروتکل IP، به هیچ عنوان آدرس MAC کسی رو نمیتونی پیدا کنی!:)

آدرس MAC رو فقط از طریق Local میتونی پیدا کنی، یعنی در شبکه های LAN نه در اینترنت یا با PHP.:D
البته اگه Local باشه با PHP هم میشه آدرس MAC رو پیدا کرد ولی تو اینترنت نمیشه!!!:rose:
 

25mordad

Member
من هم همین طور فکر می کنم که فقط روی لن کار می کنه ولی هنوز مطمئن نیستم .. یعنی دلیل کافی ندارم که چرا توی اینترنت و پروتکل tcp/ip نمی شه به مک دسترسی داشت .. گفتم فقط قلبا قبول دارم که نمی شه ولی دلیل برای نشدنش ندارم بنابر این قلبا هم دوست دارم بشه یه همچین کاری کرد .. :)
این به هیچ عنوانی که می گی در چه حد اطلاع داری و چرا ؟
ممنون از توجه فوریت
 

Omid PLUS

Member
در این باره زیاد اطلاع دارم، مطمئنم که نمیشه!!
دلیلش هم اینه که آدرس MAC چون سخت افزاری هستش در Packet دوم مدل OSI قرار بگیره و این باعث میشه که وقتی به روتر برسه آدرس Packet دوم تغییر کنه، و این تغییر هر سری عوض بشه. مثلاً وقتی کسی میاد از 3 یا 4 تا روتر میگزه، اونوقت آدرس MAC برای 3 یا 4 بار تغییر کنه در صورتی که آدرس IP تغییر نمیکنه و ثابت میمونه و میشه شناساییش کرد.
فکر کنم کامل توضیح داده باشم!
 

25mordad

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

Omid PLUS

Member
نه چونکه هیچکدوم از زبان های frontend مثل javascript و اینجور چیزا همچین قابلیتی ندارن!
تنها راهش اینه که یه ActiveX بنویسی و اونو روی سیستم طرف نصب کنی و با زبانی مثل javascript بخونیشو برای خودت بفرستیش!!
که راه ساده ای نیست و browser اونو اسپم میشناسه!!

حالا آدرس MAC رو میخوای چه کار؟!!
 

hba

Active Member
خوب معلومه نميشه
mac لايه 2 هست و ip اينها لايه 3 با اين زبان ها فقط تا لايه 3 پايين ميشه رفت
مگر به صوا دوستان شبكه باشه كه سيستم mac رو بببينه و با php از سيستم بخوهيم كه اينرتنت نميشه
پس نميشه
 
آخرین ویرایش:

25mordad

Member
درسته .. می شه با اکتیو ایکس کار کرد ولی همونمشکل اسپم رو داره ...
خوب ما اگه توی سایت بتونیم مک افراد بازدید کننده رو شناسایی کنیم اگر اتفاقی توی سایت بیافته ( منظورم از نظر امنیتی هست ) می تونیم سریعا اون هکر رو پیدا کنیم .. چرا که خیلی از هکر ها نمی یان برای هک کردن کارت شبکشون رو عوض کنن و فقط آی پی رو عوض می کنن .. خلاصه اگه اطلاعات مکشون رو هم ذخیره کنیم می تونیم با ردیابی بگیریمشون .. نظرت چیه ؟:)
 

25mordad

Member
راستی در مورد اون کد نظرتون چیه ؟ آیا اون کد فقط رو لوکال کار می کنه و اگر کار می کنه چجوری باید راه اندازیش کرد .. منظورم خط
PHP:
$location = `which arp`;
هست
 

yakoza

Well-Known Member
من خودم تو این زمینه اطلاعاتی ندارم ولی یه دوستی می گفت با ترکیب java و php میشه یه کارایی کرد
 

hba

Active Member
ببينيد يا بايد از طريقي به كامپيوتر شخصي كه داره وب رو ميبينه دسترسي داشته باشيم
يا به سرور كه افرادي كه مي اد روشون با دستور Arp مك هاشون ثبت ميشه كه اين تو شبكه داخلي هست نه اينترنت

مگر applet يا activex بتونه دستوري رو روي كامپيوتر شخص به صورت لوكال اجرا كنه

بي ارزش هست دنبالش نباش براي چه كاري مي خواهي شايد بشه ايده ي ديگري داد!!
 

25mordad

Member
بي ارزش هست دنبالش نباش براي چه كاري مي خواهي شايد بشه ايده ي ديگري داد!!

خوب توضیح دادم برای چه کاری می خوام
"
خوب ما اگه توی سایت بتونیم مک افراد بازدید کننده رو شناسایی کنیم اگر اتفاقی توی سایت بیافته ( منظورم از نظر امنیتی هست ) می تونیم سریعا اون هکر رو پیدا کنیم .. چرا که خیلی از هکر ها نمی یان برای هک کردن کارت شبکشون رو عوض کنن و فقط آی پی رو عوض می کنن .. خلاصه اگه اطلاعات مکشون رو هم ذخیره کنیم می تونیم با ردیابی بگیریمشون
..
"
در ضمن در مورد اون کد اطلاعاتی دارید ؟
 

Omid PLUS

Member
اگه قرار بود هرکسی بتونه آدرس MAC رو پیدا کنه که این همه هکر پیدا نمیشد، یا هکر ها برای عوض کردن کارت شبکشون ورشکسته میشدن!!:lol:

اون دستور Shell هستش که برای پیدا کردن آدرس MAC تو Local ازش میشه استفاده کرد.:rose:
 

hba

Active Member
فرض كن mac من رو هم داري خوب مثلا چه طوري ميشه پيدا كرد
راه بيوفتم خونه مردم مك هاشون رو بگيرند؟
 

25mordad

Member
در کل تمام آی اس پی ها و غیره که خدمات اینترنت می دهند آدرس مک یوزری رو که در ساعت و تاریخ مشخص وصل می شه ثبت می کنند فرض کنیم که شما هر روز 3 بار آی پی خودتون رو عوض می کنید و به سایت های مختلف می رید حالا با ردیابی آی پی شما نمی توان محل شما را تشخیص داد ولی با ردیابی آدرس مک شما و سرویس دهنده اینترنت شما می توان تمام مسیری که شما پیموده اید را تشخیص داد .. البته فکر می کنم که این آدرس به درد هر پروژه و سایتی نمی خوره چون تازه اگر هم این آدرس رو داشته باشیم باید از یک تیم پشتیبنی قوی برخوردار باشیم ( منظور مملکت و پلیس و سیستم قضایی هست ) که بتونند خرابکار رو پیدا کنند ..
.
.
.
در کل این فقط یک ایده بود که می خواستم روش کار کنم ولی به نظر میاد که خیلی موافق نداره
بازم از برو بچی که اینجا همکاری کردن و نظر خودشون را دادن متشکرم
 

hba

Active Member
isp ها مك رو نگه دارند خوب تلفن رو هم نگه مي دارند

الان براي پيگيري قانوني با درخواست از دادگشتري ip رو بازمان به isp ها مي دهند شماره تلفن رو فرت مي گيرند

mac ارزشي نداره چون قابل تغغير هست وي تلفن كمتر پس براي موارد قانوني بهتره
 

25mordad

Member
درسته شماره تلفن را هم ذخیره می کنند ولی همه که با تلفن به اینترنت وصل نمی شن ممکنه بی سیم و یا ... ولی به هر حال گفتم که شما می تونید آی پی رو عوض کنید مثلا با آی پی آمریکا به یه سایت حمله کنید در اون حالت آی اس پی شما هم آمریکا هست و اگر فقط بخواهیم از طریق آی پی رد گیری کنیم متوجه نشیم که از کجا اومده ولی مک آدرس غیر قابل تغییر هست مگر این که شما کارت شبکت رو عوض کنی و در صورتی که مک اون فرد را داشته باشیم می تونیم رد گیری کنیم که دیگه با چه آی پی ها یی وارد اینترنت شده و بعد بقیه ماجرا که پلیسی می شه ...
mac ارزشي نداره چون قابل تغغير هست
مک فقط زمانی قابل تغییر هست که شما کارت شبکتو بندازی دور و یه کارت شبکه نو بخری
 

hba

Active Member
نخير با همون كارت شبكه هم ميشه مجازي mac رو عوض كن
يه mac change سرچ كن معلومه :d

در هر صورت تونستي خبر كن يه چيزي ياد بگيريم
مرسي
 

25mordad

Member
نخير با همون كارت شبكه هم ميشه مجازي mac رو عوض كن

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

hba

Active Member
براي اين كار راه هاي بهتري هم هست
مثلا يك كول ديسك بسازي كه يك محتواي خاص توش باشه
بعد با activex اون رو بخوني و صفحه رو باش چك كني فقط با اون باز شه

والا براي گرفتن مك چيزي پيدا نكردم
پيدا كرديد خبر كنيد
 

جدیدترین ارسال ها

بالا