شرح طريقة الحمايه من تغير الماك ادرس الخاص بكارت الشبكه
الاسكريبت بيشوف الماكات الى فى /ip dhcp-server lease
واسم الجهاز الكمبيوتر الى هوه ال host name
وبيعمل كشف كل 20 ثانيه على /ip dhcp-server lease
ويشوف لو جهاز نعتبر ان اسمه memo والماك ادرس بتاعه مثلا 00:1A:92:0057
بعد 20 ثانيه الاسكريبت هيدور فى /ip dhcp-server lease ويشوف لو فى هوست نيم ظهر بعد ال 20 ثانيه
بنفس الماك ادرس بيفصل عليه النت بيخرجه من قايمه /ip hotspot active كل 20 ثانيه وتقدر تغير الوقت يعنى الى داخل الاول واتسجل فى /ip dhcp-server lease هوه الى هيفضل شغال واكيد هوه هيبا صاحب الماك الاصلى بس ملحوظه الاسكريبت فيه عيب معظم الناس الى بتستعمل نسخ وندوز اكس بى الى بتنزل بالبرامج بيا الهوست نيم الى نازل معاها اسمه مثلا user ولو فى اكتر من واحد فى نفس الشبكه بيستعملها هيتفصل عليه النت كل 20 ثانيه عشان فى اكتر من جهاز بى هوست نيم واحد اكنه مغير الماك ادرس ودى سهله ممكن تفهم الناس الموضوع ده وازاى يغير اسم الكمبيوتر host name
ده الاسكريبت هنضيفه فى الترمنال من غير اى تعديل
كود:
كود PHP:
/ system ****** add name="hack-list-1" source=":local hosts \[/ip dhcp-server lease \ find\]\n\n:local pcname "X"\n\n:local pcnum 0\n\n:global hacklist \ ""\n\n:foreach h in \$hosts do={\n\n:local host \[/ip dhcp-server lease \ get \$h host-name\] \n\n:if \(\[:len \$host\] >0\) do {\n\n:set pcname \ \(\$pcname . "," . \$host\)\n\n:set pcnum \(\$pcnum + \ 1\)\n\n}\n\n}\n\n:foreach h in \$pcname do={\n\n:local hh 0\n\n:if \ \(!\(\[:find \$hacklist \$h\]>=0\)\) do={\n\n:foreach k in \$pcname do={ \ :if \(\$k=\$h\) do={:set hh \(\$hh + 1\) } }\n\n:if \(\$hh>2\) do={ \ \n\n:if \(\[:len \$hacklist\] >0\) do {:set hacklist \(\$hacklist . "," \ . \$h\)} else={:set hacklist \$h}\n\n}\n\n}\n\n}\n\n\n\n# monitor results \ in logfile once an hour \n\n:local timer \[:pick \[/system clock get \ time\] 3 5\]\n\n:if \(\(\$switch > 0\) || \(\$timer >= "58"\)\) do={ \ \n\n:log warning \("New Hacklist: " . \$hacklist\)\n\n}" policy=ftp,reboot,read,write,policy,test,winbox,pa ssword,sniff add name="hack-list-2" source="# use global hacklist variable\n\n#:log info \ \(\$hacklist\)\n\n:foreach host in \$hacklist do={\n\n:foreach i in= \[/ip \ dhcp-server lease find host-name \$host\] do={ \n\n:local ipnum \[/ip \ dhcp-server lease get \$i address\] \n\n:local unum \[/ip hotspot active \ find address \$ipnum\]\n\n:if \(\[:len \$unum\] >0\) do {\n\n:local usr \ \[/ip hotspot active get \$unum user\] \n\n:log warning \(\$host . " " . \ \$ipnum . " " . \$usr\)\n\n#next line kick them out right now, could \ also check pppoe\n\n/ip hotspot active remove \$unum\n\n#other stuff can \ do now with the identified IP and USER\n\n}\n\n}\n\n}\n\n" policy=ftp,reboot,read,write,policy,test,winbox,pa ssword,sniff
وده التايمر الى بيخلى الاسكريبت يشتغل كل 20 ثانيه
كود:
كود PHP:
/ system scheduleradd name="hack-list-1" on-event=hack-list-1 start-date=jan/01/1970 start-time=00:00:00 interval=1m comment="" disabled=yes add name="hack-list-2" on-event=hack-list-2 start-date=jan/01/1970 start-time=00:00:00 interval=30s comment="" disabled=yes
الاسكريبت بيشوف الماكات الى فى /ip dhcp-server lease
واسم الجهاز الكمبيوتر الى هوه ال host name
وبيعمل كشف كل 20 ثانيه على /ip dhcp-server lease
ويشوف لو جهاز نعتبر ان اسمه memo والماك ادرس بتاعه مثلا 00:1A:92:0057
بعد 20 ثانيه الاسكريبت هيدور فى /ip dhcp-server lease ويشوف لو فى هوست نيم ظهر بعد ال 20 ثانيه
بنفس الماك ادرس بيفصل عليه النت بيخرجه من قايمه /ip hotspot active كل 20 ثانيه وتقدر تغير الوقت يعنى الى داخل الاول واتسجل فى /ip dhcp-server lease هوه الى هيفضل شغال واكيد هوه هيبا صاحب الماك الاصلى بس ملحوظه الاسكريبت فيه عيب معظم الناس الى بتستعمل نسخ وندوز اكس بى الى بتنزل بالبرامج بيا الهوست نيم الى نازل معاها اسمه مثلا user ولو فى اكتر من واحد فى نفس الشبكه بيستعملها هيتفصل عليه النت كل 20 ثانيه عشان فى اكتر من جهاز بى هوست نيم واحد اكنه مغير الماك ادرس ودى سهله ممكن تفهم الناس الموضوع ده وازاى يغير اسم الكمبيوتر host name
ده الاسكريبت هنضيفه فى الترمنال من غير اى تعديل
كود:
كود PHP:
/ system ****** add name="hack-list-1" source=":local hosts \[/ip dhcp-server lease \ find\]\n\n:local pcname "X"\n\n:local pcnum 0\n\n:global hacklist \ ""\n\n:foreach h in \$hosts do={\n\n:local host \[/ip dhcp-server lease \ get \$h host-name\] \n\n:if \(\[:len \$host\] >0\) do {\n\n:set pcname \ \(\$pcname . "," . \$host\)\n\n:set pcnum \(\$pcnum + \ 1\)\n\n}\n\n}\n\n:foreach h in \$pcname do={\n\n:local hh 0\n\n:if \ \(!\(\[:find \$hacklist \$h\]>=0\)\) do={\n\n:foreach k in \$pcname do={ \ :if \(\$k=\$h\) do={:set hh \(\$hh + 1\) } }\n\n:if \(\$hh>2\) do={ \ \n\n:if \(\[:len \$hacklist\] >0\) do {:set hacklist \(\$hacklist . "," \ . \$h\)} else={:set hacklist \$h}\n\n}\n\n}\n\n}\n\n\n\n# monitor results \ in logfile once an hour \n\n:local timer \[:pick \[/system clock get \ time\] 3 5\]\n\n:if \(\(\$switch > 0\) || \(\$timer >= "58"\)\) do={ \ \n\n:log warning \("New Hacklist: " . \$hacklist\)\n\n}" policy=ftp,reboot,read,write,policy,test,winbox,pa ssword,sniff add name="hack-list-2" source="# use global hacklist variable\n\n#:log info \ \(\$hacklist\)\n\n:foreach host in \$hacklist do={\n\n:foreach i in= \[/ip \ dhcp-server lease find host-name \$host\] do={ \n\n:local ipnum \[/ip \ dhcp-server lease get \$i address\] \n\n:local unum \[/ip hotspot active \ find address \$ipnum\]\n\n:if \(\[:len \$unum\] >0\) do {\n\n:local usr \ \[/ip hotspot active get \$unum user\] \n\n:log warning \(\$host . " " . \ \$ipnum . " " . \$usr\)\n\n#next line kick them out right now, could \ also check pppoe\n\n/ip hotspot active remove \$unum\n\n#other stuff can \ do now with the identified IP and USER\n\n}\n\n}\n\n}\n\n" policy=ftp,reboot,read,write,policy,test,winbox,pa ssword,sniff
وده التايمر الى بيخلى الاسكريبت يشتغل كل 20 ثانيه
كود:
كود PHP:
/ system scheduleradd name="hack-list-1" on-event=hack-list-1 start-date=jan/01/1970 start-time=00:00:00 interval=1m comment="" disabled=yes add name="hack-list-2" on-event=hack-list-2 start-date=jan/01/1970 start-time=00:00:00 interval=30s comment="" disabled=yes