0%

في هذا الموضوع ساتحدث عن بعض الاوامر اللتي اعتقد انها مهمة في للمساعدة في تشخيص وصيانة نظام اللنكس وجهاز الحاسب الذي يعمل عليه. يمكن تنفيذ هذه الاوامر كمستخدم عادي، لكن قد لاتكون النتائج كاملة ويجب تنفيذها كمستخدم رئيس (root) للحصول على جميع المعلومات.

اول هذه الاوامر هو lsof وهو اختصار (List Open Files) يعني عرض الملفات المفتوحة، والملفات في نظام اللنكس ليس محصورة بالملفات العادية كما تعرف في نظام الوندوز ولكنها تشمل المجلدات و المكتبات و ارتباطات الشبكة و انواع اخرى من الملفات الخاصه. وعند تنفيد الامر فسيقوم بعرض قائمة بجميع الملفات المفتوحه حاليا و اسم المستخدم الذي قام بفتح الملف ورقم العملية التي تم من خلالها فتح الملف (Process ID) و نوع الملف وحجمة (اذا كان ذو حجم معروف) و مسار الملف. القائمة في الغالب ستكون كبيره جدا ولذا تحتاج في الغالب لعمل تخصيص للتحكم في المخرجات.

احد الاستخدامات هي معرفة جميع البرامج المتصلة بالانترنت في حال الشك بان الجهاز قد يكون مخترقا او التاكد من حالة الاتصال بالمواقع او معرفة رقم المنفذ الذي يستخدمة خادم معين:

1
lsof -i

اوامر مشابهه

1
2
ss -ap
netstat -tuap

اما في حال اردت معرفة (او اغلاق) ملف مفتوح (مثلا قمت بفتح ملف في كرت ذاكرة خارجي Flash Drive ولكن عند محاولت ازالة الكرت اخبرك النظام بان احد الملفات لازال مفتوحا) فالتوصل للملف المفتوح ومعرفة البرنامج المتصل بذلك الملف عمليه سهلة جدا باستخدام lsof وهي كالتالي: اولا نفرض ان مسار كرت الذاكرة هو /media/disk/ فتقوم بتنفيذ الامر التالي:

1
lsof | grep /media/disk/

فالامر الاول lsof سيعرض جميع الملفات المفتوحة لكن بدل من تعرض النتائج على الشاشه بل سوف ترسل للامر التالي grep و المسؤل عن عمليه الارسال تلك هي علامة الانبوب | (pipe) حيث ان نظام اللنكس عندما يجد ذلك الخط العمودي بين امرين فانه يمرر مخرجات الامر الاول كمدخلات للامر الثاني. اما الامر grep فان امر ترشيح (Filter) حيث ان يقوم بالبحت في المدخلات عن اي سطر يحتوي على الكلمة المذكورة بعد (في مثالنا هذا فانه يبحث عن /media/disk/) ثم يعرض السطر الكامل الذي يوجد به مثل ذلك النص. فالناتج النهائي من تنفيذ هذا الامر هو قائمة باسم الملف او الملفات التي لاتزال مفتوحة من كرت الذاكرة والبرنامج الذي قام بفتح ذلك الملف ثم ما عليك سوى اغلاق ذلك البرنامج وستتمكن من ازالت الكرت بشكل امن. ولاغلاق البرامج يمكن استخدام الامر kill مع رقم العملية (Process ID) كالتالي:

1
2
kill <PID>  (اغلاق البرنامج بطيقة امنة)
kill -9 <PID>  (اغلاق اجباري للبرنامج)

اوامر اخرى من عائلة lsof هي:

lsusb يعرض قائمة باجهزة USB المتصلة حاليا بالجهاز
lspci يعرض قائمة كروت PCI المركبة بداخل الجهاز
lsmod يعرض قائمة بمعرفات الاجهزة التي تم تشغيلها
lspcmcia قائمة كروت PCMCIA المركبة بالجهاز
lshal قائمة الاجهزة المركبة في الجهاز (USB و PCI و غيرة)
lscpu معلومات عن المعالج المستخدم

في هذا الموضوع سوف احاول تقديم بعض الاوامر المهمة لمستخدمي النظام المفتوح المصدر والمجاني لنكس. جميع هذه الاوامر تنفذ من خلال نافذة الاوامر (Terminal or Command Line) وفي الغالب ستجدها في جميع توزيعات اللينكس واليونكس كذلك مع بعض الاختلافات البسيطه احيانا.

* توضيح: ما أضعه بين علامتي <> يعني انه يجب استبداله بشي مناسب كاسم ملف او مجلد وما هو بين اقواس ( ) فهذا فقط شرح مني للامر المذكور ولايكتب اثناء التنفيذ.

سوف ابدأ بأحد الاوامر المهمة:

الامر: man
التعريف: عرض معلومات عن معظم اومر النظام وشرحها وطرق استخدامها طريقة الاستخدام:

1
man <الامر>

الامر: ls
التعريف: لعرض الملفات الموجود في المجلد الحالي طريقة الاستخدام:

1
2
3
ls (عرض الملفات والمجلدات فقط)
ls -l (الملفات على شكل قائمة مع عرض حجم الملف والصلاحيات)
ls -a (الملفات المخفية اللتي تبدا بنقطه)

كما يمكن دمج بعض الخيارات كدمج a و l للحصول على قائمة الملفات مع الملفات المخفية ولمزيد من الخيارات يمكن استخدام الامر man للحصول على المزيد من التفاصيل

الامر: cp
التعريف: نسخ ملف او ملفات الى مجلد اخر (او انشاء نسخه للملف باسم مختلف) طريقة الاستخدام:

1
2
cp <file> <folder/>  (نسخ ملف الى مجلد)
cp <file> <newfile> (انشاء نسخة من الملف)

الامر: mv
التعريف: نقل ملف او ملفات الى مجلد اخر (او تغيير اسم الملف) طريقة الاستخدام:

1
2
mv <file> <folder/>  (نقل ملف الى مجلد)
mv <file> <newfilename> (تغيير اسم ملف)

الامر: rm
التعريف: مسح ملفات او مجلدات طريقة الاستخدام:

1
2
rm <files>  (مسح ملفات)
rm -r <folder/> (مسح المجلد و الملفات التي بداخله)

الامر: mkdir و rmdir
التعريف: انشاء و حذف مجلد (لحذف مجلد يشترط ان يكون فارغا، وان لم يكن فارغا فيستخدم الامر السابق) طريقة الاستخدام:

1
2
mkdir <folder>  (انشاء مجلد)
rmdir <folder> (حذف مجلد)

الامر: ps
التعريف: عرض قائمة البرامج التي تعمل الان طريقة الاستخدام:

1
2
ps  (سيعرض فقط البرامج التي تعمل في نافذة الاوامر)
ps aux (جميع البرامج اللتي تعمل وتفاصيل مهمه اخرى)

الامر: df
التعريف: عرض معلومات عن المساحة المستخدمة والمتبقية من القرص الصلب لجميع الاقسام طريقة الاستخدام:

1
2
df (عرض الارقام بالبايت)
df -h (عرض الارقام يصيغة اسهل للقرائة مثل ميقا قيقا)

الامر: free
التعريف: عرض معلومات عن استخدام الذاكرة والذاكرة الاحتياطية في القرص الصلب (swap) طريقة الاستخدام:

1
2
free (عرض الارقام بالكيلو بايت)
free -m (عرض الارقام بالميقا بايت)

هذه بعض الاوامر وهناك الكثير وساقوم بكتابه موضوع اخر عن اوامر اخرى متقدمة

If you are a Fedora user then you must be using RPM Fusion and if you are not then please do since it provides you with many cool packages that Fedora doesn’t come with (like ATI & nVidia drivers, video and audio codec…etc). After you install RPM Fusion repositories (through their provided rpm packages which you can find about under the ‘Configuration’ in their website) you will be able to use it right away from the command line by using ‘yum’ or if you like the GUI (like I do) then it is PackageKit. However, there is one thing that I don’t like about PackageKit which is dealing with dependencies.PackageKit will only resolve dependencies when you apply the changes not while you are making them (selecting to install or remove a package). I find that annoying since sometimes when I select to remove some packages that I think I don’t need and when I click on apply it will show the list of dependencies of all the selected packages and will not tell you which one of the selected packages is needed by those other packages and the only way to find out is by removing packages one by one. Same thing when installing. However, there is a solution to this problem, it is called Smart, Smart is a package manager that can be used to manage ‘rpm’ packages (and also apt as well). You can install Smart and the GUI from Fedora repos with this command:

1
yum install smart smart-gui

The biggest advantage of using Smart over PackageKit is the way it resolves dependencies. Smart will do that instantly while you are clicking to install a new package or trying to remove one. So for example if you are using Fedora with KDE and wanted to remove all Gnome packages and you clicked for example on ‘gnome-vfs2’ Smart will immediately look for all other packages that depends on this one and if any it will show you a windows of the list of all other packages that will be removed as a result of removing this one, among that list you will find ‘Firefox’, ‘vlc’ and other packages that I actually need, so that means this one is important and i will just hit cancel to keep it. Same thing when for example you want to install and try some application but you find that it needs many other packages to be installed as well.

However, it seems that Fedora and RPMfusion are not giving much attention to Smart and the channels files (channel = repo) are not updated for Fedora 14 (was also the case for F13 when it was released) so I decided to update those packages myself and maybe find a way to send them to Fedora and RPMFusion so they will sign them and add them to their main repositories.

Download the appropriate files for your system or the source if you wanna compile the rpms and sign them yourself (you will need to rerun Smart so it detects the changes):

Update: Since not much attention from Fedora and RPMfusion is giving to Smart and it is not supported anymore I stopped making the rpms for it.

While working on my script Autopilot to enable buying advertisement I started collecting information about the price changes over time, and found out that it is not actually random, but repeats every week. So here is a graph that shows the prices for 1 week and a table that shows the same thing and highlights the cheapest ones.

AM Advertisement Prices

SatSunMonTueWedThuFri
12 AM49890480893208043022470173221340693
01 AM48089190043204348612377683579249415
02 AM2389674353284550324322134543949838
03 AM7831140213447547017338694989039308
04 AM8870254823685340843406934983814928
05 AM214588658398013517747250432327530
06 AM2277520310430223221349890238968870
07 AM736621438461123255550097976319060
08 AM203108083486123579248089743525482
09 AM234479777501054069339308887014038
10 AM1009439347503244543923896164998675
11 AM7531501684922948567118512488322794
12 PM1904543179470174989078312277523447
01 PM4616732218440705016874731101511824
02 PM50109492444084349838887086757472
03 PM4317936829377684808914021203109777
04 PM31976365453517743232214582558229278
05 PM44098496113328934525255851903748103
06 PM43972439724397243972439724397243972
07 PM32043415313896736524344393290932080
08 PM48612389673443932080328453685343022
09 PM37768365243208034475430225010547017
10 PM35792344393284543022503244084332213
11 PM49415329093685350105408433197740693

Note: the table and graph timings are based on the US-Eastern Time (-5) so adjust your times accordingly. Also the listed prices are for the most expensive type of advertisements (Billboards on 20 international airports).

NOTE: The script no longer works, and the development was stopped

After being bored with Airline Manager in Facebook in which you have to keep watching your airplanes when they arrive to send them in another flight, I decided to write my own script to use with greasemonkey in FireFox to do that thing for me. Basically, you will need a computer that is connected to the internet and running for most of the time. Install Firefox and add the Greasemonkey add-on to it, then install my script in greasmonkey and enable it if it is not enabled by default. Now when you visit the flight section of the game under facebook you will see the Auto Pilot control box (shown below) in the left column. Simply set the time that you want the script to repeat the task then click on the button. That’s it, now just watch the script fly the first 10 ready airplanes and the count down will start to trigger the next run.

كثير منا يجد العاب الفيسبوك (Facebook) مملة بعد فترة من اللعب بسبب ان اسلوب اللعب يصبح متكر ورتيب ومن امثلتها لعبه مدير الطيران (Airline manager) اذ يجب عليك متابعه مئات من الطائرات وانتظار وصولها لكي تقوم بارسالها مرة اخرى في رحلة جديدة، فلذك السبب قمت ببرمجة برنامج صغير يعمل في متصفح الفايرفوكس (Firefox) تحت اضافة قريسمونكي (Greasemonkey). فاذا كنت من من يلعب هذه اللعبة وعندك جهاز متصل بالانترنت ويعمل بشكل مستمر فكل ما عليك هو تركيب متصفح الفايرفوكس واضافة القريسمونكي له ثم تحميل برنامجي فيه ومن ثم قم بقتح صفحة اللعبة من الفيسبوك واضغط على رابط الطيران (Flight) و سوف تجد ادوات التحكم ظاهرة في الجهه اليسرى من الصفحة كما تراها في الصورة التالية. قم بتحديد الزمن الذي تريدة لتكرار عملية الطيران ثم اضغط زر (Auto Pilot) فسيقوم البرنامج بارسال اول 10 طائرات جاهزة ثم سيكرر العملية بعد انقضاء العد التنازلي.

Here is an image showing the position on the control box in the page:

هذه الصوره توضح موقع ادوات التحكم في الصفحة:

Download the code from here: https://github.com/fduraibi/Autopilot

Change log:

1.2.14: (July/28/2011)

  • Updating the script to work with new AM changes

1.2.13: (July/27/2011)

  • Fix fly link.

1.2.12: (July/25/2011)

  • Allow more wait time (up to 999 minutes + 999 random minutes), using longer time + random makes it hard to get detected ;)
  • Fix: the control box might show up in a weird location and cannot be clicked.
  • Fix: Update fly link.
  • Fix: Reset the tank max to 999999999 since AM will not accept 1000000000 even it is the max as they say!

1.2.11: (July/21/2011)

  • New: Buying advertisement is now possible.
  • Redesign the way tasks are being done to prevent some tasks from starting before other finish.
  • Added two fields to change the lucky fuel price and the max fuel tank capacity.
  • User interface enhancements.
  • Better use of CSS to make the code smaller and looks neat.

1.2.10: (July/04/2011)

  • Enhanced fly function will not reload for every patch of aircraft.
  • New: Lucky Fuel, when the fuel price drops to 50 (which happens once a month) fill the tank.
  • New: Options box to tune some of the script features to your liking:
    • Autostart on page load.
    • Change the delay and random delay times.

1.2.9: (Jun/10/2011)

  • New: Titlebar for the controlbox which is used to move it.
  • Update: Coloring the box to make it look nicer.

1.2.8: (Jun/8/2011)

  • New: Fuel Rescue option, if fuel tank is empty the script will buy enough fuel to fly the aircraft, no matter what the price is.
  • New: Autopilot Controlbox is movable, and the position will be saved.
  • Fix: Pages fetched will use the same protocol as the main page (http or https).
  • Update: If for unknow reasons a page won’t load, the script will reload AM
  • Removed some unused code.

1.2.7:

  • Added Cargo flights.
  • Script tested and works under Google Chrome using “tampermonkey” extension.
  • Fixed some compatibility with Google Chrome.
  • Small fix to allow running on secure Facebook page (https).
  • Increasing the delay and random delay between tasks, to help people with slow connections and make the script a bit harder to detect.

1.2.6:

  • Server update check of the script is back.
  • Added Tooltips to explain the functionality of the controlbox.
  • Enhanced fly function (if there are more than 10 aircraft waiting it will fly them in the same run).
  • Small changes and fixes here and there.

1.2.5:

  • Aircraft fly Fix (Thanks Olla)

1.2.4:

  • Fixed the script after the game code was updated.
  • Removed the Check4Update function <– since this will be the last update (sorry guys, i would love to keep doing this but I have other stuff to do)
  • Included the developer code (all the code that I use for myself including the unused functions, debuging stuff)
    • If you open Firefox Error Console you can see the logs about what the script is doing, very helpful for debugging.
    • Buy airplanes and sell airplanes functions are there but need to be enabled and integrated to the controlbox.
    • Check4Update is still there but disabled, i will remove the file from my server later so the function will not be useful for this script but I kept the code for others to use if someone want to take over.

1.2.3:

  • Fuel, now you can auto buy fuel by checking the fuel checkbox and setting the maximum amount needed and the highest price. It will check once every hour. (I found a way to fly the airplanes even with no fuel (negative amount) and was about to include it in the script but thought that would be cheating so I did not.)

1.2.2:

  • Added ability to buy catering by selecting the type and amount, so it buys them before flying the airplanes. But you have to make sure that you put the right amount for the selected catering type (minimum and maximum) by following the values giving by the game otherwise it will not buy them. And when the catering finishes it will buy them again in the next round.

1.2.1:

  • Added Note taker to keep notes about the game, like airport names, what to buy next…etc.
  • Fixed a bug in autoupdate if the version file on the server is not accessible.
  • Added a timeout for waiting loops so they will not loop forever in case a page did not load correctly.
  • Refresh (reload) the facebook page, including AM page, every 20 iterations to overcome a bug in AM (which i have no control over) that appears after keeping the script running for long time.

1.2.0:

This version went through a restructuring of the code. In the previous versions I was injecting the whole code inside the AM page (AM iframe inside Facebook page to be precise) and because of that I was also storing the script settings as AM cookies. This approach is simple and makes interacting with the page easy, however, it makes it easy for AM admins to detect the script by either adding a function that searches for my functions or the entries in the cookies. In order to solve this problem I changed the way the script works. Now when you open the AM game under Facebook my script will be loaded twice, the first instance will load under Facebook frame and it will inject the AP Control box in that frame, which AM has no access to so they cannot detect it. The second instance will load under AM frame, however, it will not inject anything but rather will remain in Greasemonkey sandbox and that is also hidden from AM cannot be detected. The last thing is the settings which are now being stored in Firefox itself under GM settings using GM functions (GM_getValue & GM_setValue). The two script instances are working separately and cannot communicate with each other since they run under different domains (facebook.com & airlinemanager.activewebs.dk) as this is a security feature enforced by Firefox to prevent malicious websites from accessing other websites functions and variables. To overcome this obstacle I used the GM stored settings which are shared by both instances to communicate. In addition to all of that I added some randomization to the timer so executing the tasks will not happen at the exact intervals.

  • Replaced using (eval) which can be harmful with location.assign
  • Settings are not stored in AM cookies anymore.
  • No code injection in AM page.
  • Time randomization.
  • Repairs and C-Check have their own check box so you can do one and not the other.
  • Auto check for script update every 3 days.
  • The timer now loops every 5 seconds instead of every 1 second to reduce the load on the browser.

* Note:

  • I recommend removing the stored cookies by the older version (delete all cookies if you are not sure how).
  • Even with all of these precautions this automating script can still be detected by AM admin if they want to, even though I don’t expect them to do it but they can detect and close your AM account. (Farmville knows about the automation tools and the users who use them but they did not prevent/block them because it did not harm them, rather it might have increase their users by keeping the lazy ones like me.)
  • I expect this version to have many bugs, because I did many changes. Also there are still some changes that I wanted to do but decided to release this first and work later on these changes and whatever bugs you guys find.

1.1.2:

  • More enhancement to the C-Check and Repair, it should miss less repairs and checks now. Basically I increased the waiting delay between tasks to give more time for the pages to load before starting the new one. If your internet connection is slow and the script does not work as it should then try increasing the delay by modifying this part of the script “fDelay=5000”, 5000 means 5 seconds, set the value to something suitable for your net speed.
  • Repairs and C-Checks will not work after the new AM update (April-08), so in order to keep using the script to fly airplanes uncheck the repair box, and kindly wait for the coming update.

1.1.1:

  • Solved the problem of not working under Firefox 3.6.x.
  • Removed the dependency on jQuery.
  • Fixed a bug that causes the control box not to show if the airline is not AM trusted.
  • The C-Check and Repairs are not perfect and it get missed sometimes

1.1.0:

  • Major change in how the script works.
  • Added the ability to repair airplanes and do C-Check before flying them.
  • Save control box settings in AM cookies.
  • Will load on all AM pages not just the Flight page.
  • Fixed the file name so it will install directly by greasmonkey
  • This version does not work with the new Firefox 3.6.x, I am trying to solve this issue.

1.0.0:

  • Inisial release.

Disclaimer: The author of this script cannot be held responsible for any thing that might result from using this code, so use it at your own risk.

تنويه: المبرمج لن يتحمل مسئولية اي اضرار قد تنجم عن استخدام هذا البرنامج، فاستخدمة على مسؤليتك.

إذا كنت تعمل في مجال تقنية المعلومات (IT) او انك ذو المام بتركيب البرامج وتقوم بتركيب برنامج الاوفيس 2007 على العديد من الاجهزة فان هذا الموضوع قد يساعدك في جعل تلك المهمة اسهل بكثير مما اعتدت عليه.

توفر ميكروسوفت امكانية تعديل وتخصيص الاعدادات الافتراضية لبرنامج اعداد الاوفيس (Setup) مما يمكنك من تركيب البرنامج فيما بعد بضغطة زر واحدة، واليكم الطريقة بالصور.

  • اولا قم بنسح برنامج الاوفيس من القرص الضوئي الى مجلد في القرص الصلب (مثلا D:\Office2k7)
  • افتح نافذة الاوامر (Command Prompt) ثم انتقل الى مجلد الاوفيس
  • قم بتشغيل برنامج الاعداد مع تمرير امر تخصيص الاعدادات كالتالي: setup.exe /admin (بامكانك تنفيذ setup.exe /? لروية جميع الاوامر)

نافذة اعدادات الاوفيس

  • من خلال هذة النافذة تستطيع تخصيص البرامج والاعدادات لحزمة الاوفيس بما يتناسب مع متطلباتك او متطلبات الشركة والصور التالية توضح اهم تلك الاعدادات مع شرح مبسط (اضغط على الصورة لرؤيتها بحجم اكبر):

oct-location

  • بعد الانتهاء من جميع الاعدادات قم بحفظها عن طريق “File->Save”، (اسميت ملفي FAD.MSP) ويمكنك فتح الملف مرة اخرى للقيام بمزيد من التعديل والتخصيص.

  • الخطوة الثانية هي دمج التحديثات والرقع الامنية الخاصة بالاوفيس مثل “Sevice Packs” و “Security patches” بحيث يتم تركيبها مباشرة بعد تنصيب البرنامج.

  • قم بتحميل اخر التحديثات و السيرفس باك من موقع ميكروسوفت وستكون ملفات تنفيذية بامتداد exe.

  • من نافذة الاوامر قم بتشغيل تلك الملفات بالطريقة التالية: office_sp2.exe /extract:D:\office2k7\updates حيث ان office_sp2.exe هواسم ملف التحديث و D:\office2k7\updates هو المسار لمجد التحديثات الموجود في مجلد الاوفيس، وستقوم تلك العملية بنسخ ملفات التحديث ذات الامتداد msp الى ذلك المجلد.

  • الخطوة الاخيرة هي عملية التثبيت للاوفيس على الاجهزة كالتالي: setup.exe /adminfile FAD.MSP

  • وبامكانك انشاء ملف باتش “setup.bat” يحتوي على هذا السطر لكي تسهل عملية التنفيذ.

والان لن تحتاج الى ادخال الرقم التسلسلي في كل مرة ولن تحتاج الى تخصيص الاعدادات او تركيب كل البرامج في كل مرة ولا الى تركيب التحديثات.

في البداية اهني من يوجد عندهم تغطية لشبكة الوايماكس (WiMAX) الخاصة بشركة عذيب (Go) بتلك الخدمة اللتي انقذتنا من احتكار شركة الاتصالات. عند بدء الخدمة اشرت على احد اخوتي بالغاء خدمة الدي اس ال (DSL) والاشتراك مع “قو” بسرعة 2 ميقا، قمت بتجربة السرعة مع موقع Speedtest لخادمين في الرياض واوروبا وكانت النتائج تبعث على السرور وانمتى ان تبقى كذلك خصوصا بعد ازدياد عدد المشتركين.

Go-Speedtest-Riyadh

Go-Speedtest-Rome

بعد استخدام الخدمة بفترة وجيزة قام جهاز المودم بعمل تحديث ذاتي لنفسه (اعتفد ان النحديثات يتم ارسالها عن طريق شركة عذيب) اعتقد ان الاصداؤ القديم كان 02.00.20.05.37 اما التحديث الجديد فهو 02.00.20.06.45 وقد تنبهت لذلك بعد ما قام الجهاز بعمل ريسيت (Reset) وعادت كلمة السر والاعدادات الاصليه.

قد يكون التحديث قام بحل بعض المشاكل لكن هناك مشكلة لازالت قائمة الى لحظة كتابة هذا المقال واتنمى ان تحل سريعا من Motorola او عذيب والمشكلة تكمن في تعطل خدمة تمرير طلبات اسماء النطاقات (DNS) الموجودة في المودم. حيث ان المودم يقوم بتعيين نفسه كخادم اسماء النطاقات في شبكتك الداخلية ثم يقوم هو بدورة بتمرير الطلبات الى خادم النطاقات الحقيقي الموجود لدى مزود الخدمة عذيب، لكن ولسبب مجهول تتعطل هذه الخدمة في المودم ولايقوم بتمرير الطلبات ولكن الاتصال لازال يعمل وبامكانك الدخول على المواقع والخوادم باستخدام عنوان ال اي بي (IP address).

الحل المؤقت لهذه المشكلة هو تعريف عنوان خادم النطاقات الحقيقي وبشكل يدوي في الجهاز اما باستخدام خادم عذيب او خادم OpenDNS

في حال رغبت في استخدام خادم عذيب فعليك الحصول على عنوان الـ IP من صفحة اعدادات المودم

DNS Server IP

الغريب ان عذيب يستخدمون IP لخادم واحد فقط والعادة بان يكون هناك اثان في حال تعطل احدهم ولعلهم يستخدمون تقنية توزيع الحمل (Load balancing)، المهم العنوان الضاهر في الصورة هو 94.77.215.126 ستقوم بتثيته في اعدادات الشبكة في جميع الاجهزة التي تستخدم الشبكة، الصورة التالية تبين طريقة عمل ذلك في الاجهزة العاملة بنظام وندوز

tcp-dns-setting-small

قمت باستخدام عنوان IP اخر من OpenDNS في حال تعطل خادم عذيب. اما بالنسبة لنظام اللينكس فيمكن القيام بذلك عن طريق ملف (etc/resolv.conf) او اعدادات NetworkManager ولمزيد من الايضاح ارجو السؤال عن طريق التعليقات على هذا الموضوع.

I have just found out that you can include images into gmail, not just through attachments but to embed them with in the email content. To activate this feature go to gmail Setting then Labs and look for and enable “Inserting Images”

Insert Image - Gmail Labs

After enabling this feature you will find a new icon in the email text editing toolbar clicking on this icon will allow you to embed images from your computer or from the internet using a URL

Inserting image into an email

You can also find more useful features in gmail Labs like adding more Emoticons and browsing your emails offline.

اكتشفت قبل قليل اثناء قيامي بتعديل بعض الاعدادات في بريد الجيميل (Gmail) انهم قد اضافو امكانية ارفاق الصور في داخل الرسالة وليس كمرفقات فقط، وفي حد علمي اعتقد انهم اول من قام بذالك في بريد متصفح مجاني (Web email). ولتفعيل ذلك ماعليك سوى الذهاب لاعدادات بريدك (Settings) قم اختر من شريط الاعدادات المختبر (Labs) ومن ثم قم بتفعيل خاصية ادراج الصور

Insert Image - Gmail Labs

وبعد التفعيل ستجد ايقونة الصور في شريط ادوات تحرير الرسائل ومن خلاله تستطيع ادراج صورة من جهازك مباشرة او من خلال رابط في الانترنت

Inserting image into an email

وهناك ادوات وخصائص اخرى مفيدة وجميلة يمكن تفعيلها ايضا من نفس المكان (مختبرات Labs) مثل زيادة الرسومات المضحكة (Emoticons) تصفح البريد بدون اتصال (Offline) حيث يقول الجيميل بحفظ الرسائل في جهازك اثناء اتصالك بالشبكة مما يمكنك من تصفحها وارسال الرسائل بدون اتصال وفي حال وجد اتصال يقوم بعمل تزامن مع الخادم.

قام مجموعة من طلاب جامعة UMBC بامريكا بتقمص شخصية اناس مشردين ليس لهم سكن ولا عمل (Homeless) وذلك ضمن مشروع بحثي لاحدى المواد التي تدرس في تلك الجامعة والتي تهدف الى تنمية افكار الطلاب وتمكبنهم من فهم المجتمع المحيط لمحاولة ايجاد حلول ووسائل للتطوير. التجربة اللتي عاشوها وان كانت ليوم واحد لكنها اعطتهم فرصة اكبر لفهم حقيقة ما يواجهونه من معاناه في ايجاد اكل او عمل وحتى في اشياء صغيرة قد لا نلاحظها مثل ايجاد دورات مياه لقضاء الحاجة ثم البحث عن مكان دافيء للنوم يحميهم من الطقس البارد.

احد الطلبة دايفيد هوفمان (David Hoffman) قام بسرد قصته في مدونته وذكرت تفاصيل ما قامو به من البدء في المنطقة التجارية وسط المدنية ومحاولة البحث عن عمل والحصول على طعام بما لا يزيد عن قيمة 2 دولار امريكي ثم الانتقال بالمواصلات العامة الى حرم الجامعة للبحث عن ملاذ للنوم، تفاصيل القصة تجدونها في مدونت الكاتب على الرابط التالي: Homeless for a day

بعد قرائتي لتلك القصة بدات افكر في التعليم الموجود في دولنا الاسلامية عامة وفي السعودية خاصة (حيث انني عشت ودرس هناك) وتسائلت لماذا لانجد مثل هذه المحاضرات في جامعاتنا لماذا لايتبنى الاساتذة هذه الافكار ويطبقونها؟ اعتقد وهذه وجهة نظري الخاصة اننا نعاني من الخجل الغير مبرر من مثل هذه الامور ونخشى من ما سيقولة الناس، ولكن في الغرب اجد العكس تماما حيث ارى التشجيع ونظرات الاعجاب لمن يتبنى ويطبق هذه الافكار.

هذا الموضوع سيكون شرح مبسط عن طريقة عمل Secure Socket Layer او SSL المستخدمة في مواقع الانترنت المشفرة والتي يبدأ عنوانها بـ https. سبب حديثي عن هذا الموضوع هو اهميته واعجابي به وبطريقة عمله.

أولا يوفر نظام SSL ثلاث خصائص:

  1. تشفير البيانات المرسلة عبر الانترنت بحيث لا يستطيع احد فهم محتواها غير المرسل والمستقبل الرسمي Confidentiality.
  2. حماية البيانات المرسلة من العبث او التعديل قبل وصولها للمستقبل Integrity.
  3. التأكد من هوية المرسل حتى يتسنى للمستقبل تحديد اذا كانت البيانات مرسلة من جهه صحيحه او لا Authentication.

سوف اقوم في حديثي هذا بشرح الخاصية رقم 1 وترك باقي الخصائص لموضوع قادم ان تيسر الوقت.

يستخدم هذا النظام ثلاث انواع من الشفير:

  1. تشفير تثائي الاتجاه: يعتبر هذا اقدم سبل التشفير المعروفة وحاليا يعتبر تشفير AES هو التشفير المتفق عليه عالميا ويتميز بسرعته وقوته. وطريقة عمله تعتمد على اختيار مفتاح سري (Secret Key) من عدة احرف يتفق علية المرسل والمستقبل بشرط ان يكون طويل وصعب التخمين فيقوم المرسل باستخدام المفتاح السري لتشفير البيانات (Encryption) قبل ارسالها ثم يقوم المستقبل باستخدام نفس المفتاح لعكس عملية التشفير واستخراج البيانات (Decryption) الاصلية ولهذا يسمى ثنائي الاتجاه ويسمى كذلك بالتشفير التماثلي (Symmetric key cryptography). من الامثلة المشهورة لهذا النوع: DES و AES و RC4

SSL

  1. الاختزال (Hashing) (التشفير احادي الاتجاه) :وهو يعتبر نوع خاص من انواع التشفير حيث انه يقوم بتحويل البيانات الى شفرة غير مفهومة وتكون ذات حجم ثابت غالبا، ولكن من الصعب عكس العملية والتوصل الى البيانات الاصلية، كما يجب (قدر الامكان) ان لا توجد بيانات عند اختزالها تعطي نتيجة مشابهة لشفرة بيانات اخرى. ومن الامثلة: MD5 و SHA

SSL

  1. تشفير المفتاح العام والخاص (Public-key cryptography): ويسمى ايضا التشفير الغير متماثل (Asymmetric key cryptography) اذ يعتمد هذا النوع من الشفير على وجود مفتاحين مختلفين تماما يستخدم احدهما للتشفير ويستخدم الاخر لفك التشفير (او العكس) ولكن لايمكن استخدام نفس المفتاح لكلا العمليتنين. ومن الامثلة: RSA و Diffie-Hellman.

SSL

بعد هذا الشرح المبسط للتقنيات المستخدمة سوف أتحدث عن طريقة عملها مجتمعة في نظام SSL اذ ان كل واحدة منها لا تستطيع اداء المهمة بالشكل المطلوب لوحدها. فعلى سبيل المثال لو تحدثت عن التشفير ثنائي الاتجاة (مثلا AES) فان هذا التشفير هو المستخدم في كثير من ألأنظمة لانه سريع وقوي ولكن تكمن مشكلته في أن المفتاح السري يجب ان يكون معلوماُ لدي الطرفين المعنيين بالإرسال (المرسل والمستقبل) فاذا كنت تود ارسال رسالة مشفرة لزميل عن كريق الانترنت فيجب عليك مسبقا ابلاغة بالمفتاح السري لكي يتمكن من فك التشفير ولكن يجب عمل ذلك بطريق آمن اذ لو تم ارسال المفتاح عن طريق الانترنت فان اي متجسس سوف يحصل عليه وسيتمكن من فك التشفير. ففي السابق كانت طريقة تبادل المفتاح السري هي باستخدام وسيلة اتصال اخرى غير الانترنت واكثر امنا كأن يتم التقابل شخصيا والاتفاق على رقم سري او عن طريق الهاتف….الخ لكن هذا الخيار غير ممكن في جميع الاحوال وصعب التطبيق، ففي الحرب العالمية الثانية كانت المانيا تزود جيشها بقائمة من المفاتيح السرية بحيث يتم استخدام كل مفتاح لمدة زمنية معينه ثم يتم الانتقال للمفتاح الذي يليه، تكمن المشكلة في هذه الطريقة صعوبة تغيير القائمة في حال تم الوصول اليها من العدو وهو ما حصل بالفعل عندما تمكن الحلفاء من اختطاف غواصة والحصول على قائمة المفاتيح السرية منها. جاء الحل لهذة المشكلة مع اكتشاف تقنية تشفير المفتاح العام والخاص ففي هذه التقنية يقوم الشخص المعني باستقبال الرسالة بانشاء مفتاحين (باستخدام عملية حسابية تعتمد على ايجاد ارقام اولية كبيره جدا) يستخدم احدهما للتشفير ويسمى المفتاح العام والاخر لفك ذلك التشفير ويسمى المفتاح الخاص. فاذا اردت انا استقبال رسالة سرية منك فكل ما علي عملة هو انشاء هذين المفتاحين ثم اقوم بالاحتفاظ بالمفتاح الخاص ووضع المفتاح العام في مكان يسهل عليك الوصول اليه (اما ان ارسلة اليك او اضعه في صفحة في الانترنت) ولا يهم اذا تمكن شخص غيرك من الحصول عليه، ثم بعد ذلك تقوم انت باستخدام ذلك المفتاح (المفتاح العام) لتشفير رسالتك ثم ارسالها الي وفي هذه الحالة لايمكن فك ذلك التشفير إلا باستخدام المفتاح الخاص الموجود لدي وحدي ولا يمكن استخدام المفتاح العام لعمل ذلك.

المشكلة الموجودة حاليا في تقنية تشفير المفتاح العام هي كون العملية معقدة وتستغرق وقتا طويلا وطاقة حسابية من اجهزة الحاسب والشبكات فيصعب استخدامها في تشفير بيانات كثيرة وعلاوة على ذلك فانها لاتعتبر بالقوة التشفيرية التي تصل اليها تقنية التشفير التماثلي (او ثنائي الاتجاة) فلكي تحصل على تشفير تماثلي قوي تحتاج الى مفتاح سري بحجم 256 بت او اكثر اما في تشفير المفتاح العام فيجب ان يكون حجم المفتاح 1024 بت او اكثر.

ما هو الحل اذن؟؟ هل نستخدم التشفير التماثلي او المفتاح العام؟ :? الجواب هو باستخدامهما جميعا. كيف؟ … الطريقة ببساطة هي وكما في المثال السابقة ان اقوم بارسال مفتاحي العام لك ثم بدلا من ان تقوم انت باستخدامة لتشفير الرسالة تستخدمة لتشفير المفتاح السري الذي سنقوم باستخدامة في التشفير التماثلي، حيث تقوم انت بانشاء مفتاح (بطول 256 بت مثلا) ويكون صعب التخمين (احرف وارقام عشوائية) ثم تستخدم مفتاحي العام لتشفير ذلك المفتاح السري وارسالة لي ومن ثم اقوم انا باستخدام مفتاحي الخاص لفك التشفير والحصول على ذلك المفتاح العشوائي والذي سنستخدمة جميعا في تشفير بقية الاتصال. فبهذه الطريقة نكون استخدمنا تقنية المفتاح العام (المكلفة حسابيا والبطيء) مرة واحده فقط وبعد ذلك نكمل بقية المراسلات باستخدام التشفير التماثلي (السريع والآمن)

لتبسيط شرح طريقة العمل قمت بعمل هذا المثال المبسط:

طريقة عمل الـ SSL

  1. يقوم المستخدم بالدخول على موقع البنك المشفر (https) او اذا استخدم الموقع العادي (http) فان البنك سيقوم يتحويلة مباشرة الى النمط المشفر.
  2. يقوم البنك بارسال شهادته الرقمية المصدقة وفيها مفتاح التشفير العام.
  3. يقوم متصفح الانترنت لدى المستخدم (مثلا فايرفوكس او انترنت اكسبلورر) بالتحقق من مصداقية وصلاحية تلك الشهادة واذا كانت تخص البنك او لا.
  4. يقوم المتصفح بانشاء رقم سري عشوائي يكون عادته بطول 128 او 256 بت (حسب مواصفات شهادة البنك الرقمية).
  5. يقوم المتصفح باستخراج المفتاح العام الموجود في شهادة البنك الرقمية ويستخدمة لتشفير الرقم السري العشوائي الذي قام بانشائه في خطوة رقم 4.
  6. يقوم المتصفح بارسال الرقم السري المشفر للبنك.
  7. بعد ان يصل الرقم السري المشفر للبنك يقوم البنك باستخدام مفتاحة الخاص لفك التشفير واستخراج الرقم السري.
  8. في هذة اللحظة يكون لدى المستخدم والبنك رقم سري معروف لديهما فقط وصعب الكسر يتم استخدامة لتشفير بقية المعاملات البنكية بين الطرفين.

في كل مرة يقوم المستخدم بالاتصال بالبنك تتم العملية السابقة وينشأ رقم سري جديد خاص بذلك الاتصال ولايتم استخدامة مره اخرى.

في ختام هذا الحديث اتمنى ان اكون قد وفقت في شرح الموضوع بشكل مبسط وسهل الفهم، وفي حال كانت هناك ملاحظات او استفسارات ارجو مراسلتي او التعليق على هذا الموضوع.

اذا كنت من مستخدمي بريد الجيميل (GMail) بالواجهه الانجليزية فلربما احتجت الى تحويل اتجاه انسياب النص من اليسار لليمين الى الاتجاة العربي وهو من اليمين لليسار. امكانية التغيير متوفرة في الجيميل اذا كانت واجهة الاستخدام عربية عن طريق ازرار في شريط الادوات ولكنها مخفية في الواجهة الانجليزية ونتحتاج الى تفعيل.

طريقة التفعيل سهلة جدا وهذه هي الخطوات:

  1. انتقل الى صفحة الاعدادات عن طريق اختيار “Settings” من الزاوية اليمنى في اعلى الشاشة.
  2. في اول صفحة الاعدادات وفي نهاية السطر Language اضغط على “Show all language options”.
  3. سيظهر لك خياران الاول لاخفاء الازرار والثاني لتفعيلها قم باختيار الثاني (الوضع ON) ثم احفظ التعديلات.
  4. قم بانشاء رسالة جديدة وسوف تجد ازرار تغيير الاتجاة موجودة في شريط الادوات.

I have always wanted to write bidirectional posts with English and Arabic languages together. However, to do so I needed to have the support for RTL and LTR from the TinyMCE editor in wordpress which was not there (this is true at the moment of writing this post). The only possible was was to edit the post in the html form and add the required tags and parameters.

كثيرا ما وددت ان اكتب مقالا في مدونتي يحتوي كلمات من اللغة العربية الانجليزية ولكن ذلك يتطلب استخدام محرر نصوص يدعم الكتابة من اليسار لليمين ومن اليمين لليسار و للاسف فان محرر النصوص TinyMCE المدمج مع مدونة wordpress لا يقدم ذلك الدعم (الدعم غير موجود حتى لحظة كتابة هذا الموضوع). وكانت الطريقة الوحيدة لعمل ذلك هي عن طريق تعديل نص html مباشرة.

One day I decided to write my own plugin to enable such this feature and to my suprise I found that the original TineMCE editor already has that support in the needed files are actually installed with wordpress but are being disabled!

في احد الايام قررت ان اكتب plugin لمدونة wordpress لاضافة هذه الخاصية وبعد البحث تفاجت بان البرنامج الاصلي لمحرر TinyMCE يوفر الدعم للكتابة بالجهتين وان الملفات الخاصه بذلك موجودة مع مدونة wordpress ولكنها غير مفعلة!

So that made my day easy and all I have done was to enable these features (LTR & RTL) and add their buttons to the toolbar

هذا الاكتشاف سهل العمل بشكل كبير حيث ان كل ما كان علي عملة هو تفعيل تلك الخاصية واضافة الازرار في شريط التحرير الخاص بـ TineMCE

TinyMCE showing the LTR & RTL buttons

TinyMCE showing the LTR & RTL buttons

صورة تبين الازرار المضافة لشريط التحرير

The resulting HTML code with some LTR and RTL lines

The resulting HTML code with some LTR and RTL lines

نص الـ HTML ويبين تعديلات الاتجاة للنص

The final result

قام مجموعة من الباحثين في مجال امن المعلومات بالتوصل الى 4 طرق يستطيعون من خلالها التقاط الموجات الكهرومغناطيسية المنبعثة من لوحة مفاتيح الحاسب المكتبي والتي تحمل اشارات تبين للحاسب الزر الذي تم الضغط عليه.

قام هؤلاء الباحثين باستخدام انواع مختلفة من لوحات المفاتيح وقالو انها جميعا معرضة على الاقل لاحد انواع التجسس الاربعة التي اكتشفوها واستطاعو التقاط المعلومات عن قرب باستخدام هوائي بسيط وهو عبارة عن سلك عادي وكما تمكنو من التقاط الاشارة من مسافه 20 متر باستخدام هوائي كبير.

Compromising Electromagnetic Emanations of Keyboards Experiment 1/2

Compromising Electromagnetic Emanations of Keyboards Experiment 2/2

وهذا رابط الموضوع http://lasecwww.epfl.ch/keyboard

(الطريقة هذه لا تعمل الان… يبدو ان الشركة قد حلت المشكلة)

هذا الموضوع يتحدث عن خدعة بسيطة اكتشفتها خلال لعبي للعبة الحرب ترافيان. كما يعلم لاعبوا ترافيان انه بامكانك الحصول على بطل واحد في قريتك وذلك بتدريب احد جنودك او فرسانك في قصر الابطال تدريب خاص يحول ذلك الجندي او الفارس الى بطل قوي. لكن هل بامكانك تدريب بطل مع ابقاء ذلك الجندي او الفارس؟

اكتشفت هذه الخدعة عن طريق الصدفة حيث كنت ارسل جنودي لقرية مجاوره اذ كنت اتوقع هجوم على قريتي وهذه الخطوات التي تمت بها العملية:

  1. القبيلة هي الرومان.
  2. قمت بتدريب فارس قيصر (لانه اقوى الوحدات هجوما ودفاعا فارد ان يكون البطل فويا جدا) وكان هو الفارس الوحيد الذي املكه.
  3. بعد انتهاء تدريب الفارس ذهبت لقصر الابطال وبدات في تدريبه كبطل.
  4. ولكون تدريب البطل يستغرق وقتا خشيت ان يحصل على الهجوم ويموت الفارس فقمت بتعزيزه للقريه المجاورة (يملكها لاعب اخر) قبل انتهاء تدريب البطل وكنت اعتقد انه بمجرد انتهاء التدريب سيختفي الفارس ويتحول الى بطل.
  5. انتهى تدريب البطل ولازالت الفارس في طريقة للقرية المجاورة (لم يصل بعد) فقم بارسال البطل ايضا كتعزيز.
  6. بعد فتره وصلت جميع الوحدات لتلك القرية وبينها الفارس والبطل.

حقيقة انا غير متاكد من ان ماحصل هو خلل في نظام العبة ام انه شي طبيعي، اذ اني اعتقد ان الوحده العسكرية التي تقوم باختيارها للتدريب كبطل تختفي بمجرد انتهاء تدريبة. فارجو ممن يستطيع تاكيد هذه المعلومة وكتابة تعليقة على هذا الموضوع.

This is a small trick that I found while i was playing Travian, the online real-time war game. Travian players know that you can have only one hero for you village, and this hero is just one of your regular soldiers or knights that you choose to have a special training that makes him much stronger. So as I have said you have to taking an existing soldier and convert him to a hero. But what if you can train a hero from nothing and without losing any soldier or knight? This trick was actually discovered by accident while I was moving my army to a neighboring village to save them from an expected attack. Long story short, how does it work? I will tell you what I did exactly and you can confirm if it works for you or not because I have not tried it again since my hero is still alive. So here is how I did it:

  1. I have a Roman tribe.
  2. I trained a “Equites Caesaris” (since i wanted to have the strongest army unit) and it was the only one in my troops.
  3. After the training of the “Equites Caesaris” was finished I went to the hero mansion and started training him to become my hero.
  4. While the hero is being trained usually the selected unit will still be listed with the other units until the training is done in which it will disappear and get listed as a hero.
  5. While I was waiting for my hero to be trained (the hero training has just started) and since I was expecting an attack against my village I sent all my troops as an reinforcement to another village (not mine) including the knight that selected to be trained as a hero.
  6. The hero training was complete and he was listed under my troops, and I was expecting the knight who was selected to disappear, but to my surprise he did not. And after i checked all my troops I found that I have them both

I am not sure if this is a normal behavior or a glitch in the game, try it and give me your feedback.

Fedora 9 was released I installed it on my laptop next to the pre-installed Fedora 8 and Windows XP. There are some issues with the release, like nVidia drivers, but I was expecting such things. However, there was one small problem that didn’t make since at first which is the time settings.

Whenever I change from Fedora 8 or Windows XP to the new Fedora 9 or vice verse the time of my machine will change, it will go backward or forward with a fixed offset, and I knew it is a problem with timezone. So before I explain the problem I would like to mention that each machine has a clock that works even if the machine is turned off, using a battery that is connected to the motherboard, and when the operating system boots it will read the time from that clock.

For Windows OS, the time that is shown to you in the task-bar is the same time of the hardware clock, and when you change your time in Windows, it will update the hardware clock to reflect the same change. So let say that you are in a city with timezone “ -6 “ and Windows is set to that zone, then the hardware clock will have the time of that zone also. However, Unix, and Unix compatible OS like Linux, assumes the hardware clock to be set to the UTC “coordinated universal time” (which is also called GMT) and it will calculate the local time based on the selected timezone (by adding the offset to the time).

If you have a system with dual boot Windows and Linux you will have this problem, but lucky we are that Linux has the option to assume the hardware clock to be the local-time instead of UTC and it will ack like Windows and that will solve the problem.

So after remembering all of that I tried to locate this option under my Fedora 9 which tells it to treat the machine clock as a local-time instead of UTC, but I could not find it any where, and after some digging I discovered that since I installed KDE4 only with my new installation, the tool that allows this is based on Gnome desktop and it is called “system-config-time”. But I am still wondering why KDE4 does not have a GUI for that!! even in the older version!!

The time/date control under KDE 4 and it has no option to tell it if the machine clock is set to local-time or UTC

So I installed this tool and I found that the option for UTC time is checked and I have to uncheck it to resolve the problem.

Date/Time control under Gnome and it has the option to say the hardware (System) clock is using UTC or local-time

Unfortunately it did not work and it gave me an error message after I clicked the OK button and it did not change the settings:

1
File "/usr/lib/python2.5/shutil.py", line 41, in copyfile raise Error, "`%s` and `%s` are the same file" % (src, dst) shutil.Error: `/usr/share/zoneinfo/America/Chicago` and `/etc/localtime` are the same file

Finally after more google search I found this command line program “timeconfig” (which is text version of the system-config-date) which I used to successfully change the way Linux uses the time stored in my machine.

A command line application that allowed me to set the right time configuration

From my understanding, both tools the GUI “system-config-date” and the text based “timeconfig” are developed by Redhat, and since they use Gnome as their default desktop management they tend to build their tools based on that. However, I like KDE more since it provides me with things that Gnome can’t. So do I have to suffer for that?

Is this Redhat problem or KDE should develop all of these things?

Any way, I am happy now that my problem is fixed, but I hope the option will be available in KDE 4.1.

في الماضي كنت أرى كثيراً من المنازل وعلى أسوارها الخارجية توجد حنفية ماء بارد ومكتوب عندها “ماء سبيل”. حيث يهدف غالبية أصحاب تلك المنازل إلى نيل الأجر من الله حيث أن تلك المياه يستفيد منها العديد من المارة بكافة أصنافهم وطبقاتهم خصوصا في مثل أجواء صيفنا الحارة فقد قال النبي صلى الله عليه وسلم: “في كل كبد رطبة أجر” رواه البخاري.

في وقتنا الحاضر ومع انتشار الانترنت والخطوط الرقمية (DSL) وانخفاض أسعار أجهزة الحاسب المحمولة اتجه كثير من الناس إلى استخدام الشبكات اللاسلكية (WIFI) لأداء أعمالهم وتصفح الانترنت في أي مكان في المنزل. وكل هذا أدى إلى ظهور ما اسمية بـ “الانترنت السبيل” وهي عبارة عن شبكات لاسلكية غير مشفرة قد يتعدى بث إشاراتها حدود المنزل ليصل إلى الشارع ومنازل الجوار مما يسمح لأي شخص في نطاق تلك الإشارة ويحمل حاسب آلي مزود ببطاقة شبكة لاسلكية بالولوج إلى تلك الشبكة.

غالبية مالكي تلك الشبكات لم يضعوها للعامة ولا يودون أن يستخدمها غيرهم، لكنهم قد يجهلون إمكانية وصول غيرهم لها أو لا يعرفون كيفية حمايتها. وكناك آخرون لا يبالون بحمايتها وغيرهم ممن يود تقديمها “كسبيل”. لكن الوضع مع الشبكات السبيل (سواء أراد ملاكها تقديمها للغير أو لا) مختلف عن ماء السبيل، فانه من النادر أن يعود عليك ماء السبيل بضرر (إلا في حال حصل تسرب للماء وتم قطع الماء عن منزلك) أما مع الانترنت السبيل فإن الشخص الغريب الذي سيستخدم تلك الشبكة قد يقوم بعمليات اختراق لمواقع أو سرقة حسابات بنكية أو إرسال فيروسات أو رسائل إرهابية وغيرها من الأعمال التي قد تعود على مالك الشبكة بالمشاكل علاوة على ذلك فان مثل تلك الشبكات الغير مشفرة تسمح للغير بالتقاط جميع البيانات غير المشفرة التي يرسلها ويستقبلها مستخدم تلك الشبكة وقد تشمل تلك البيانات على كلمات سر ورسائل بريدية خاصة.

فعلى ملاك مثل تلك الشبكات أخذ الحيطة والحذر والعمل على تشفير شبكاتهم حيث أن تلك العملية لا تكلفهم أية مبالغ إضافية إذ إن جميع الأجهزة اللاسلكية تأتي مزودة بخاصية التشفير وكل ما عليهم هو تفعيلها والقيام بعمل الإعدادات اللازمة لها. للشبكات المنزلية يوجد نوعان من أنواع التشفير التي تمتاز بسهولة الاستخدام والإعداد، أولهما يسمى (WEB) لكنه قديم وسهل الكسر ولا ينصح باستخدامه، والنوع الثاني والذي يعتبر الأفضل وينصح باستخدامه يسمى (WPA) ويعتبر تشفيرا قويا وصعب الكسر (ذلك فقط في حال اختيار كلمة سر طويلة وصعبة التخمين). وفي الختام أتمنى لكم تصفحا آمنا مشفرا.

يعاني كثير من مستخدمي البريد الاليكتروني اليوم من انتشار ما يسمى بالرسائل التطفلية (SPAM أو Junk email) وهي نوع من الرسائل المزعجة والغير مرغوبة والتي تحتوي في الغالب على إعلانات لمنتجات ومواقع على الانترنت حيث تقوم الشركات المالكة لتلك المنتجات والمواقع بالتعاقد مع بعض الأشخاص لكي يقوموا بإرسال الإعلانات لأكبر عدد ممكن من مستخدمي البريد الالكتروني حول العالم.

وتكمن صعوبة حجب تلك الرسائل في كونها تصدر من جهات مجهولة وبعناوين متغيرة، حيث أن مرسلي تلك الرسائل يسعون إلى تغيير عناوين خوادم البريد الخاصة بهم بشكل دوري كما يقومون باستخدام عناوين إرسال وهمية مفبركة وكذلك عناوين حقيقة لبعض الأشخاص والشركات التي لا علاقة لهم بالموضوع. فقامت كثير من الشركات بإنتاج برامج لمكافحة تلك الرسائل وهي ما تسمى(Anti-spam) حيث تعتمد تلك البرامج على العمليات الإحصائية في محاولة تحديد ما إذا كانت الرسالة تطفلية أو حقيقية (مثل مراقبة عدد الأشخاص المرسلة إليهم وكذلك نوعية الكلمات الموجودة في الرسالة و عنوان الرسالة…الخ) ولكن نتائج تلك البرامج ليست دقيقة بالكامل حيث تقوم أحيانا بتحديد رسالة بأنها تطفلية وبينما هي حقيقة والعكس كذلك، كما أن مرسلي الرسائل التطفلية يقومون بمتابعة أساليب تلك البرامج وطرق عملها فيقومون بابتكار أساليب جديدة يصعب اكتشافها.

وفي محاولة لإيجاد طريقة لاستئصال العلة من جذورها قامت إحدى الشركات المتخصصة في مجال أمن المعلومات وتسمى “بلو سيكيوريتي” (Blue Security) وهي شركة إسرائيلية بابتكار طريقة جديدة في محاربة تلك الرسائل التطفلية حيث تقوم هذه الطريقة على مبدأ العين بالعين والسن بالسن إذ تقوم بإرسال رسائل بكميات كبيرة رداً لا على المرسل بل على الشركة صاحبة الإعلان في حال تم إرسال رسالة تطفلية إلى أحد عملاء شركة “بلو سيكيوريتي”. ولكي لا يكون عمل هذه الشركة غير شرعي فإنها قامت بإتباع قانون مكافحة الرسائل التطفلية الأمريكي (U.S. CAN-SPAM Act) حيث يسمح لمن تصل إليه إحدى تلك الرسائل بالرد على المرسل برسالة واحدة يطلب فيها عدم الإرسال لعنوانه البريدي. لكن هل رسالة واحدة تكفي لردعهم؟ نعم حيث أن شركة “بلو سيكيوريتي” تقوم بإرسال تلك الرسائل بواسطة عملائها الذي يقرب عددهم من 522،000.

والسؤال هو هل أثبتت تلك الطريقة نجاحها؟

نعم، وحسب ما ذكرت الشركة فإن 6 من أصل 10 من أكبر مرسلي الرسائل قد اجبروا على حذف عناوين عملاء الشركة من قوائمهم البريدية. لكن الأمر لم يدم طويلا حيث أن طريقة الهجوم الذي تتبعها الشركة قد أثارت غضب أحد اكبر مرسلي رسائل الإعلانات وهو من روسيا ويعرف باسم “PharmaMaster” حيث قام بشن هجوم معاكس ضد الشركة وجميع عملائها، حيث قام باستخدام عشرات الآلاف من أجهزة الكمبيوتر المخترقة حول العالم لمهاجمة شبكة الشركة وكذلك الشبكات الخاصة بعملاء الشركة مما أدى إلى تعطل تلك الشبكات وعدم إمكانية الوصول إليها (Distributed Denial-Of-Service attack) وبقي موقع شركة “بلو سيكيوريتي” معطلا لمدة أسبوع. وبعد الفشل الذريع قامت الشركة بإيقاف أعمالها إلى أن تجد مجالاً آخر. لكن ما هو سبب هذا الفشل؟ الجواب في نظري يتمحور حول نقطتين الأولى هي طريقة عمل بروتوكولات الانترنت، حيث يصعب التحكم فيها. أما النقطة الثانية فهي عدم وجود قوانين دولية متفق عليها لمنع وجود مثل تلك الانتهاكات والهجمات. فلابد أن تسعى جميع الدول (العربية خاصة) إلى إيجاد قوانين على مستوى الدولة والمنطقة بحيث يتم دعمها من قبل منظمات دولية مثل الاتحاد الدولي للاتصالات (ITU).

كثيرا ما تصلني استفسارات و أسئلة من بعض الزملاء والأصدقاء عن سبب استقبالهم لرسائل الإعلانات بشكل كبير وعلى نحو مفاجئ في بعض الأحيان وكيف استطاعت تلك الشركات من الحصول على عنوانهم البريدي (الشخصي أو العمل). في البداية يجب أن تعلم أن هناك شركات مهمتها الوحيدة هي جمع اكبر قدر ممكن من العناوين وبيعها لشركات الإعلانات وغالب هذه الشركات تلجا إلى طرق شرعية وغير شرعية للحصول عليها. فأحببت أن أوضح بعض السبل التي تتسبب في حصول هذا الأمر وبعض الحلول التي قد تساعد في تقليل حدوثه.

سأبدأ أولا باستعراض بعض السبل التي تودي إلى انتشار عنوانك البريدي أو تسهيل وصول تلك الشركات إليه:

  1. عن طريق البحث في الإنترنت وهي الأسهل فعلى سبيل المثال باستخدام محرك البحث قوقل ابحث عن التالي: “[email protected]” أو “email @.gov.sa” وستجد نتائج مذهلة.
  2. عن طريق مواقع الانترنت، فكثير من المواقع تطلب منك إدخال عنوانك البريدي عندما تحاول التسجيل في الموقع أو تحميل ملف معين ثم بعد ذلك تقوم الشركة باستخدام هذا العنوان لإرسال الإعلانات الخاصة بها بل وربما قامت ببيعه أو إعطائه لشركات أخرى.
  3. عن طريق برامج التجسس (Spy ware) مثل “Gator GAIN, HotBar”، وفي الغالب فإن برامج التجسس تلك لا تأتي بشكل مستقل إنما تكون مرفقة مع بعض البرامج المجانية والتي تسمى (Adware) إذ تكون أرباح الشركات في تلك الحالة ليس ببيع البرنامج لكن ببيع المعلومات الخاصة بك والتي يجمعها البرنامج ويقوم بإرسالها للشركة مثل بريدك الالكتروني والمواقع التي تزورها …الخ.
  4. عند قيامك بمراسلة شخص ما ويكون جهاز ذلك الشخص يحتوي على برامج تجسس أو مصاب بفيروس. إذ أن بعض فيروسات الكمبيوتر تقوم بالبحث في الجهاز المصاب عن عناوين بريد لتقوم باستخدامها في الإرسال.
  5. في بعض الحالات تقوم بعض الشركات باختلاق عناوين بشكل آلي لبعض شركات البريد المشهورة مثل Yahoo وHotmail فتجد أن البريد مرسل لعدة عناوين ويكون عنوانك من ضمنها مثال ([email protected], [email protected], [email protected])

الآن سأقوم بذكر بعض السبل التي قد تساعد في حماية بريدك وتقليل استقبال هذا النوع من الرسائل:

  1. عندما تطلب بعض مواقع الانترنت منك عنوان بريد (عند التسجيل أو تحميل ملف…الخ) قم بإعطائهم أي عنوان وهمي مثلا ([email protected]) وفي حال كان الموقع يريد أن يرسل معلومات معينة ككلمة سر أو رقم تسجيل فقم بإنشاء بريد جديد واجعله خصيصا لهذا النوع من الرسائل مثلا ([email protected]).
  2. كثير من البرامج المجانية تأتي ومعها برامج تجسس فحاول التعرف عليها والتقليل من تحميل هذه البرامج قدر المستطاع.
  3. قم بتحميل برامج حماية متخصصة في اكتشاف برامج التجسس ومن أشهرها برنامج Adaware (توجد إصدارة مجانية) وكذلك برنامج Windows Defender من شركة ميكروسوفت (مجاني) حيث تقوم هذا البرامج باكتشاف برامج التجسس قبل أن يتم تحميلها وكذلك تكتشف البرامج المحملة مسبقا، كما أن بعض الإصدارات الجديدة من برامج الحماية من الفيروسات مثل (McAfee VirusScan 8.0i) تحتوي على خاصية اكتشاف برامج الإعلانات والتجسس.
  4. لا تحاول الرد على هذه الرسائل و من الأفضل أن لا تفتحها إذ انك بالرد عليهم سوف تؤكد لهم بان عنوانك البريدي صحيح وانك تقرا الرسائل التي تصل إليه، أما في حالة فتحك للرسالة فان أكثر رسائل الإعلانات تحتوي على صور وتكون تلك الصور مرفقة في الرسالة كرابط للانترنت ويكون جزء من ذلك الرابط هو عنوانك البريدي مثال (http://www.ads.com/[email protected] فبمجرد أن تنفتح الصورة يكون عنوانك قد أدرج عندهم كعنوان صحيح وفعال، بعض برامج البريد كالاوتلوك توفر خاصية حجب الصور المرتبطة بالانترنت في حال كان المرسل غير موثوق فيه.
  5. قم بتحديث نظام الوندوز وكذلك برامج الحماية من الفيروسات وبرامج الحماية من التجسس فذلك يساعد بشكل كبير على الحماية.

في الختام، ليست هذه هي كل طرق الإصابة والحماية لكن أشهرها، مع العلم أن شركات الإعلانات مستمرة في البحث عن وسائل جديدة فعليك متابعة أساليبهم واتقائها.