• 0

كيف أقوم باستخراج عنواين IP من ملفات Log؟

كيف يمكنني فقط استخراج عناوين IP من ملفات الـ Log ووضعها في ملف آخر منفصل؟

تمّ تعديل بواسطة عبد الهادي اطويل
تعديل العنوان

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 2

هذا يعتمد على نوعيّة وهيئة السّجلّات Logs الّتي تُريد استخراج عناوين IP منها.

مثلا في سجلّاّت Apache يوجد عنوان IP في العمود الأوّل من كل سطر ضمن ملفّ السّجلّ. في هذه الحالة يُمكن استخراج عنوان IP عن طريق الأمر التّالي:

cut -d ' ' -f 1 logFile > ips.txt

يُستخدم أمر cut لاستخراج جزء من أسطر في ملف نصّي.

الخيّار d- يُحدّد الفاصل بين الأعمدة، أي أنّ الأمر عندما يجد مسافة سيعتبر ما بعدها عمودا جديدًا.

الخيّار f- يعني الحقل (العمود) أو الحقول التي نُريد الاحتفاظ بها من الملفّ. في حالة سجلّات Apache يوجد عنوان IP في العمود الأوّل، لذا نُحدّد الرّقم 1.

logFile هو اسم الملّف الّي نُريد استخراج العناوين منه.

نحتفظ بنتيجة تنفيذ الأمر في ملفّ باسم ips.txt

 

يُمكن أيضًا استخدام grep وتعبير نمطي Regex لاستخراج عنوان IP كما يلي:

grep -oE '.*([0-9]{1,3}[\.]){3}[0-9]{1,3}*'

الخيّار o- لاستبقاء جزء السّطر الّذي يُوافق التّعبير النمطي فقط.

توجد ملحوظة في الطّريقة الأخيرة. عادة يوجد إصدارُ المتصفّح في السجلّات، إن كان رقم الإصدار مكوَّنًا من 4 خانات فسيظهر محتوى السّطر الموجود بين عنوان IP ورقم إصدار البرنامج في النّتيجة. يُمكِن التّغلب على هذا الأمر باستبقاء أول مطابقة للتّعبير النمطي فقط في كلّ سطر، ولكن في هذه الحالة من الأفضل استخدام cut (على كلّ حال استخدامُ cut يستغل موارد أقلّ من الجهاز).

مثال على الملحوظة الأخيرة (سطر من سجلّ Apache لديّ في المدوَّنة :) )

197.241.75.122 - - [31/Mar/2015:10:49:02 -0600] "GET /2013/03/%D8%B1%D8%B3%D8%A7%D9%84%D8%A9-%D8%AE%D8%B7%D8%A3-grub-error-no-such-partition-grub-rescue/ HTTP/1.1" 304 174 "https://www.google.com/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) MxNitro/1.0.0.300

 

في آخر السّطر يوجد رقم إصدار مكوِّن في متصفّح المستخدِم (MxNitro/1.0.0.300). صيغة هذا الرّقم تُوافق هيئة عنوان IP ولكنّه ليس عنوان IP.

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن