الأحد، 12 فبراير 2012

مجموعة من صيغ البحث بواسطة لينكس (Regular expression)

بسم الله الرحمن الرحيم 

هذه مجموعة من صيغ البحث ( Regular expression ) التي توصلت لها أو قرأتها في أحد المواقع و جمعتها في هذا الموضوع , و جميع هذه الصيغ تستخدم بواسطة الأداة grep :

1 . البحث عن عناوين الأي بي :

grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' example.txt

2. العثور على روابط صفحات الأنترنت في النص :

grep -o 'http://[^"]*' example.html

3 . العثور على عناوين البريد الألكتروني :

grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*' test.txt

ماسح لمنافذ البرتوكول UDP بواسطة البايثون

بسم الله الرحمن الرحيم 

هذا كود بسيط قمت ببرمجته لعرض المنافد المتاحة للبرتوكول UDP بأستخدام لغة البايثون :
#!/usr/bin/python
#abgoor.blogspot.com
import socket
import sys
try:
    Site=sys.argv[1]
except:
    print "<Site or IP address>"
    sys.exit(1)
for i in range(0,65535): #the range of the ports
    sos=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    sos.settimeout(0.1) #The time the program will wait for the connection
    sos.connect((Site,i))
    try:
        sos.send(b'H')
        sos.send(b'i')
    except socket.error:
        pass

    else:
        print "Port:%d"%(i)
    sos.close()
    del(sos)

السبت، 11 فبراير 2012

دمج ملف مضغوط مع سكريبت باش (BASH)

بسم الله الرحمن الرحيم

قمت بترجمة مقالة وجدنها في هذا الموقع  (http://www.stuartwells.net/slides/selfextract.htm)  عن كيفية لإنشاء ملف مضغوط ذاتي التشغي بأتباع هذه الخطوات :

1 . إنشاء ملف السكريبت :
#!/bin/bash

echo ""

echo "Self Extracting Tar File"

echo ""

echo "Example by Stuart Wells"

echo ""

echo "Extracting file into `pwd`"

SKIP=`awk '/^__TARFILE_FOLLOWS__/ { print NR + 1; exit 0; }' $0`


#مسار و اسم الملف

THIS=`pwd`/$0



# إرسال البيانات المدمج إلى برنامج tar

tail -n +$SKIP $THIS | tar -xz



#
# أي سكريبت بعد هذا السطر سيتم تنفيذه بعد أنتهاء فك ضغط الملف المدمج

echo "Finished"

exit 0

# لا تضع أي سطور جديد بعد السطر التالي
__TARFILE_FOLLOWS__

الجمعة، 10 فبراير 2012

البحث في wiki بواسطة برتوكول DNS

بسم الله الرحمن الرحيم

يستخدم برتوكول DNS لتحويل أسماء المواقع من الصيغة المقرؤة مثل "www.example.com" إلى  "127.0.0.1" , و لكن قام أحد المطورين بأستخدام هذا البرتوكول كطريقة للبحث في موسوعة الأنترنت "Wiki" .

و للبحث في لينكس تستطيع أستخدام الأمر dig في موجه الأوامر "terminal" الذي يستخدم للتعامل مع برتوكول DNS كالتالي :

dig +short txt hacker.wp.dg.cx

"Hacker may refer to: Hacker (computer security), someone involved in computer security/insecurity, Hacker (programmer subculture), a programmer subculture originating in the US academia in the 1960s, which is nowadays mainly notable for the free software/" "open source movement, Hacker (hobbyist), an enthusiastic home computer hobbyist http://a.vu/w:Hacker" 

فقط قم بكتابة الكلمة المراد البحث عنها بعد الأمر dig , متبوعاً بالعنوان الألكتروني  "wp.dg.cx" , وللبحث عن أكثر من كلمة قم بفصل الكلمات بأستخدام "\" ثم مسافة كهذا المثال :

dig +short txt C\ programming\ language.wp.dg.cx

إنشاء القوائم في bash بواسطة الأمر select

بسم الله الرحمن الرحيم 

يوفر الأمر select إمكانية أنشاء قوائم للتفاعل مع المستخدم و تسهيل أستخدام البرنامج , و هذا مثال بسيط على أستخدام هذا الأمر :

#!/bin/bash

select opt in "Hello" "Exit" ; do

if [ "$opt" = "Exit" ]; then
echo Exit
exit

elif [ "$opt" = "Hello" ]; then
echo Hello World


else
clear
echo "Error"
fi

done

الأحد، 5 فبراير 2012

الملف /dev/null في لينكس

بسم الله الرحمن الرحيم

/dev/null هو ملف خاص في أنظمة لينكس يتجاهل جميع البيانات التي يتم تحويلها إليه كالتالي :

ls > /dev/null

و يتم أستخدامه في الغالب في برامج السكريبت كالتالي :


ls > /dev/null 2>&1 

حيث يتم تجاهل رسائل الخطأ مع البيانات , و سوف يعيد البرنامج ls قيمة رقمية تدل على نجاح تنفيذ البرنامج .

و هذه روابط لمواضيع ذات صلة بأستخدام الملف null :
http://abgoor.blogspot.com/2011/07/shell-script.html
http://abgoor.blogspot.com/2012/02/2-bash.html

معنى و أستخدام 2>&1 في برامج BASH

بسم الله الرحمن الرحيم

يوجد في نظام لينكس ثلاث أنواع من الملفات الخاصة بالتعامل مع دفق البيانات وهي :

  • stdin : يرمز إلى سيل البيانات المستقبل في الطرفية "terminal" و يرمز له بالرقم 0 .
  • stdout : يرمز إلى البيانات التي يتم طباعتها في الطرفية "terminal"  و يرمز له بالرقم 1 .
  • sterr :  يرمز إلى رسائل الخطأ التي يتم طباعتها في الطرفية "terminal" و يرمز له بالرقم 2 . 
و الأن إلى هذا المثال الذي يستخدم "redirected" تحويل البيانات من برنامج إلى ملف :

ls > file.txt

تتبع تنفيذ السكريبت في باش (BASH)

بسم الله الرحمن الرحيم

تستطيع تشغيل البرامج النصية المكتوبة باللغة BASH بحيث يتم عرض الأوامر و المخرجات الخاصة بكل أمر , و يساعد هذا المطورين على أكتشاف الأخطاء في السكريبت أو ما يعرف بـ"debug" و لتفعيل هذا في البرامج النصية باللغة Bash فقط غير السطر الأول في البرنامج من :

#!/bin/bash

إلى التالي :

Google Bouncer خدمة لحماية مستخدمي أندرويد

بسم الله الرحمن الرحيم

أعلنت شركة قوقل عن أنشاء خدمة "Google Bouncer" للبحث عن البرامج الضارة التي يتم رفعها في برنامج android market  , و سيتم تطبيق الخدمة على البرامج الموجودة حالياً و البرامج التي سيتم رفعها مستقبلاً , و في حالة أكتشاف أي نص برمجي لفيروسات أو برامج تجسس سيتم حذف البرنامج من قائمة البرامج الموجودة في android market .

المصادر :

الجمعة، 3 فبراير 2012

موقع Hulu ينشىء قناة لبث الأنمي عبر الأنترنت

أنشىء موقع Hulu قناة مجانية لبث الأنمي عبر الانترنت بشكل قانوني , و تضم قائمة الأنمي مجموعة لا بأس بها من اﻷسماء الغنية عن التعريف لمتابعي الأنمي مثل :

  •  Bleach
  • Basilisk
  • Black Blood Brothers
  •  Kiddy Grade
  • MoonPhase 
  • Peach Girl
  • School Rumble

للاسف هذه الخدمة متوافر حالياً فقط لسكان الولايات المتحدة الأمريكية فقط , و لكن حسب الموقع يتم العمل على توفير هذه الخدمة بشكل عالمي .

رسالة الموقع لزوار من دول غير الولايات الأمريكية , و فيها يوضح الموقع أنهم يعملون على الحصول على حقوق النشر بشكل عالمي , و في النهاية يطلب منك البريد الألكتروني و البلد , لأبلغك عند توافر الخدمة في بلدك .