URLDump
(صفحهای جدید حاوی '__TOC__ <div dir=rtl lang=fa> <font face ="Tahoma"> == معرفی == ''Urldump'' ابزاری است برای مشاهده و ثبت درخوا...' ایجاد کرد) |
نسخهٔ ۶ سپتامبر ۲۰۱۱، ساعت ۱۱:۳۸
محتویات |
معرفی
Urldump ابزاری است برای مشاهده و ثبت درخواستهای HTTP کاربران متصل به شبکه.
برنامه urldump برروی بستر Linux نصب میشود و بر اساس تنظیمات خود ترافیک عبوری را به دنبال درخواستهای web جستجو میکند و
چنانچه درخواستی مشاهده شود به همراه IP مبدا و مقصد در دیتابیس ثبت میشود.
مکانیزم ثبت کننده در urldump این قابلیت را دارد تا نامکاربری درخواست کننده را نیز ثبت کند. برای این کار urldump از اطلاعاتی
که در جدولی به نام ip_map ذخیره شده استفاده میکند. این جدول میتواند به ۲ صورت وجود داشته باشد یا در دیتابیس urldump یا در یک
دیتابیس خارجی.
ip_map برای نگهداری نام کاربری و IP اختصاص داده شده به هر کاربر استفاده میشود.
در صورتی که IP مبدا درخواست در این جدول یافت شود مکانیزم ثبت کننده از آن استفاده خواهد کرد و نام کاربری درخواستکننده هم به همراه
بقیه اطلاعات ثبت خواهد شد.این جدول همیشه توسط برنامهها یا سرویسهای خارجی کنترل میشود و urldump نقشی در نگهداری نام کاربری و IP ندارد.
به عنوان مثال برنامه IBSng جدول ip_map را درون دیتابیس خود نگهداری میکند و urldump میتواند با اتصال به آن از اطلاعات استفاده کند.
شکل کلی استقرار Urldump در شبکه را در شکل زیر مشاهده میکنید.
همانطور که مشاهده میشود در این شکل urldump درست در مسیر عبوری ترافیک قرار گرفته. چنانچه مدیر شبکه مایل باشد میتواند با استفاده از
Port Mirroring ترافیک عبوری را به سمت سیستمی که urldump روی آن نصب شده ارسال کند و به این صورت آن را از مسیر عبور ترافیک خارج کند.
عملکرد برنامه
پس از اجرا برنامه بلافاصله با توجه به تنظیمات خود و با استفاده از کتابخانه libpcap به کارت شبکه مورد نظر متصل میشود.
از این لحظه به بعد برای هر درخواست وب از طرف کاربر این مراحل انجام میشود:
- ترافیک مورد نظر توسط libpcap در اختیار urldump قرار میگیرد
- برنامه URLDump ترافیک را آنالیز کرده و اطلاعات مورد نیاز را استخراج میکند.
- IP مبدا و مقصد و آدرس درخواست شده روی وب چک شده و در دیتابیس ذخیره میشود.
- در حین ذخیره سازی با توجه به تنظیمات نام کاربری با استفاده از IP مبدا جستجو شده و به همراه بقیه اطلاعات ذخیره میشود.
استفاده از برنامه
شرایط کارکرد
دسترسی به ترافیک عبوری
از آنجا که برنامه urldump به طور کلی فقط برای آنالیز کردن ترافیک مورد استفاده قرار میگیرد میتوان آن را در اشکال مختلف به کار گرفت:
- مستقیم: در این حالت ترافیک از سیستمی که برنامه روی آن نصب شده عبور میکند مثلا Bridge.
- غیر مستقیم: در این حالت سیستمی که برنامه URLDump روی آن نصب شده به طور مستقیم در مسیر ترافیک نیست بلکه ترافیک با استفاده از ابزارهای دیگر مانند Port Mirroring به سمت آن ارسال میشوند.
حجم ترافیک
به طور تقریبی به ازای هر Mega Byte پهنای باند دستکم ۷۰۰۰ درخواست در یک ساعت ثبت میشودبنابراین تمهیدات لازم برای فضای مورد نیاز جهت ذخیره اطلاعات باید
از قبل دیده شوند.
گزارشگیری
گزارشگیری از اطلاعات ثبت شده هم به صورت Realtime و هم Offline از طریق رابط کاربری IBSng امکان پذیر است.
برای گزارش گیری از ۳ زیرمنو،در قسمت Report Web analyzer می توانید استفاده نمایید، که هر یک به صورت زیر عمل می نماید :
- 1- Top Visited URLs :ليست سايتهائی که بيشترين بازديدکننده را داشته اند.
دراین قسمت از IBSng می توانید لیست سایتهائی که بیشترین بازدید کننده را داشته اند را مشاهده کنید.
در صورت نیاز، پس از تعیین شرایط دلخواه بر روی OK کلیک کنید.
در صورتی که با شرایط تعیین شده اطلاعاتی یافت شود، لیست آنرا در جدول زیر مشاهده خواهید کرد:
- 2- RealTime Web Analyzer :گزارش سايت های در حال بازديد کاربران
دراین قسمت از IBSng می توانید گزارش سایتهای در حال بازدید کاربران رامشاهده کنید.برای مشاهده این گزارش ، از قسمت Report، برروی لینک RealTime Web Analyzer کلیک کنید. اطلاعات نشان داده شده در این قسمت همانند قسمت قبل می باشد.
- 3- Web Analyzer Logs :گزارش سايت های بازديد شده توسط کاربر.
دراین قسمت از IBSng می توانید گزارش سایتهای بازدید شده کاربران رامشاهده کنید. برای مشاهده این گزارش ، از قسمت Report، برروی لینک Web Analyszer Logs کلیک کنید.در ابتدا می توانید گزارش تغییرات مشخصات کاربر را بر اساس شرایط خاصی که در شکل زیر نشان داده شده است ، فیلتر کنید.
پس از تعیین شرایط دلخواه بر روی OK کلیک کنید. در صورتی که با شرایط تعیین شده اطلاعاتی یافت شود، لیست آنرا در جدول زیر مشاهده خواهید کرد:
نیازمندیها
برنامه Urldump برای اجرا شدن به این پکیجها احتیاج دارد:
- libc >= 2.7 (معمولا نسب است) - libpq >= 8.3 - libpcap >= 0.9.8
نصب از طریق پکیج
#dpkg -i urldump.deb
فایل configuration در مسیر زیر کپی خواهد شد.
# /etc/urldump/urldump.conf
راه اندازی دیتابیس
فایلهای مربوط به دیتابیس در صورتی که از پکیج استفاده میکنید در مسیر زیر کپی شدهاند.
# /usr/share/urldump/db/tables.sql # /usr/share/urldump/db/functions.sql
به این صورت میتوانید دیتابیس را بسازید:
# su - postgres $ createuser -s -P urldump $ createdb urldump;createlang plpgsql urldump $ exit
فایل dblink.sql را پیدا کنید. توجه کنید که پکیج postgres-contrib باید نسب شده باشد.
~#locate dblink.sql /usr/share/postgresql/8.3/contrib/dblink.sql <------ فایل مورد نظر /usr/share/postgresql/8.3/contrib/uninstall_dblink.sql
# psql -U urldump urldump < /usr/share/postgresql/8.3/contrib/dblink.sql # psql -U urldump urldump < /usr/share/urldump/db/tables.sql # psql -U urldump urldump < /usr/share/urldump/db/functions.sql
تنظیمات
مشخص کردن کارت شبکه:
ifname : is name the ethernet in which traffic is flowing (eth0)
الگو پیدا کردن ترافیک:
pattern : pcap filter pattern to find desired packet. any pattern which works with tcpdump can be used.
زمان تاخیر برای جمعآوری اطلاعات و ارسال به دیتابیس:
caching_time : delay between capturing data and storing in database
آدرس سیستمی که دیتابیس URLDump روی آن قرار گرفته:
urldump_db_host : ip address of the server which hosts the urldump database
نام دیتابیس URLDump :
urldump_db_name : name of urldump database (urldump)
نام کاربری و رمز عبور برای ارتباط با دیتابیس URLDump :
urldump_db_username : username to connect to urldump database urldump_db_password : password for user
محل ذخیره IP برای کاربران online. اگر این اطلاعات در همان دیتابیس URLDump ذخیره میشود به NONE ست شود.
چنانچه در دیتابیس دیگری دخیره میشود مانند IBSng آدرس IP آن دیتابیش وارد شود.
در حالت دوم اگر دیتابیس URLDump و IBSng روی یک سیستم و کنار هم قرار داشته باشند مقدار خالی ست شود.
ipmap_db_host : ip address of the database which ip_map table exists (ibsng db server)
نام کاربری و رمز عبور برای ارتباط با دیتابیسی که اطلاعات کاربران Online را ذخیره کرده.
در قسمت قبل مقدار NONE ست شده نیازی به مشخص این موارد نیست.
اما اگر دیتابیس دیگری مشخص شده باشد این اطلاعات با توجه به آن دیتابیس مشخص شوند.
ipmap_db_username : username to connect to database in which ip_map table exists ipmap_db_password : password for above user