انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: مانیتور مصرف خالص اینترنت (بدون احتساب ترافیک شبکه لوکال)  (دفعات بازدید: 6664 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
سلام
چندسالی هست که یک مشکل مثل شبح! توی انجمن (و برای هرکس دیگه‌ای که گنو /لینوکس نصب می کنم) سرگردان هست موضوع مانیتورینگ مصرف اینترنت هست که اولا ترافیک شبکه محلی رو حساب نکنه و دوم اینکه شبانه رایگان رو هم محاسبه نکنه. شاید نرم افزاری برای اینکار باشه ولی یک پستی رو توی یک سایت دیدم که خیلی باحال بود و ظاهرا کار هم می کنه(من چند سناریو رو تست کردم و جواب داد).
لینک: https://www.linux.com/learn/bandwidth-monitoring-iptables
همونطوری که از آدرس مشخص هست،  طرف اومده با iptables (فایروال) یک chain تعریف کرده بعد یک rule(قاعده) تعریف کرده که هر درخواستی که به فلان آی پی فرستاده می شه بره توی اون chain بعد می شه آمار ترافیک اون chain رو محاسبه کرد.
بیشتر توضیح می دم:
اول یک chain جدید درست می کنیم (مثلا به اسم localtraffic)
sudo iptables -N localtraffic
بعد یک قاعده/الگو (rule) درست می کنیم تا هر بسته ای که به شبکه داخلی فرستاده می شه رو به chain ی که ساختیم(localteraffic) بفرسته
sudo iptables -A INPUT -s 192.168.1.0/24 -j localteraffic
نکته:آیپی های مودم من(مثل اغلب مودم ها) از 192.168.1.0 شروع می شه و /24 آخر به این معنی هست که از رنج آی پی 192.168.1.0 تا 192.168.1.254 همه رو شامل بشه.
برای درک عبارت /24 لینک زیر رو ببینید:
https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing

حالا این دستور رو بزنید:
sudo iptables -A localteraffic -s 192.168.1.0/24
تموم شد!
حالا هر چیزی که از آی پی 192.168.1.0 تا 192.168.1.254 دریافت بشه مجموعا در چین localteraffic محاسبه می شه.
حالا برای اینکه آمار مصرف رو ببینیم کافیه بزنیم:
sudo iptables -L -v -n
حالا کافیه مصرف locallterafic رو از مقدار کل ترافیک کم کرد تا ترافیک اینترنت مشخص بشه.
نکته: اگر می خواهید ترافیک محاسبه شده بعد از ری استارت صفر نشه دستور iptables-save رو فراموش نکنید!
----------
البته تا چند روز دیگه یک اسکریپت کوچیک براش می نویسم.
این پست رو فعلا زدم که کسی امتحان کنه ببینم واقعا جواب می ده یا نه؟ چون ندیدم کسی این راو رو بگه.
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین jali316

  • Full Member
  • *
  • ارسال: 118
  • جنسیت : پسر
  • ubuntu 16.04
با تشکر همین رو قبلا تو این پست من خواسته بودم.
حالا طبق آموزش شما پیش رفتم اما نتونستم آمار دقیق بدست بیارم ۱۰۰ مگ تو شبکه اطلاعات انتقال دادم ولی localtraffic - [0:0]
 شبکه من بین ابونتو و ویندوز هست
فایل ها رو پیوست کردم.

بالا یه اشتباه تایپی هست
localtraffic
و
localteraffic
« آخرین ویرایش: 12 تیر 1395، 07:39 ب‌ظ توسط jali316 »
\********** زندگی یعنی یاد دادن و آموختن ؛ ابونتو یعنی زندگی **********/

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
سلام
 این دستور رو امتحان کن
sudo iptables -N net-dl
sudo iptables -I INPUT ! -s 192.168.1.0/24 -j net-dl
 sudo iptables -A net-dl ! -s 192.168.1.0/24
حالا یک چیزی از اینترنت دانلود کن (حدافل چند کیلو بایت تا بهتر مشخص بشه) بعد این دستور رو بزن
sudo iptables -L net-dl -v -n -x
در خروجی باید افزایش حجم رو باید ببینی( خروجی به بایت هست)
حالا یک چیزی از شبکه ی محلی دانلود کن (کامپیوترهای شبکه باید  آی پی بین 192.168.1.0 تا 192.168.1.254 داشته باشند)
حالا دوباره دستور زیر رو بزن
sudo iptables -L net-dl -n -v -x
که الان نباید تغییر محسوسی در حجم ببینی.(یعنی ستون بایت باید تقریبا ثابت مونده باشه-تغییر چند بایت مجازه)
اگر انجام دادی نتیجه اش رو بگو
دارم یک محیط گرافیکی براش درست می کنم  تا کارها راحت تر بشه.
« آخرین ویرایش: 01 تیر 1395، 10:26 ق‌ظ توسط سید وحید رضا برهانی »
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
خب اون رابط گرافیکی رو نوشتم :)
از اینجا می تونید بگیرید
https://gitlab.com/undergroundman/terafix
اینم کل کدهاش
#! /bin/bash

[ ! -s ~/.config/terafix ] && echo -e 'backup=true\nlocalipbase=192.168.1.0\nprecleanup=false\nstatus=none' > ~/.config/terafix # if config file not found so we create it.

configur() # this iexample usage: configur load backup or configur save backup true
{
case $1 in
save)
grep -v "^$2=" ~/.config/terafix > /tmp/terafix.tmp
echo $2=$3  >> /tmp/terafix.tmp
mv /tmp/terafix.tmp ~/.config/terafix
;;
load)
grep "^$2=" ~/.config/terafix | cut -f2 -d '='
;;
esac
}
export -f configur
enable()
{
localipbase=$(configur load localipbase)
precleanup=$(configur load precleanup)
[ $precleanup == "true" ] && gksu "iptables -F ;  iptables -X"
gksu "iptables -N terafix
 iptables -I INPUT -s ${localipbase}/24 -j terafix
 iptables -I INPUT ! -s ${localipbase}/24 -j terafix
iptables -I OUTPUT -d ${localipbase}/24 -j terafix
iptables -I OUTPUT ! -d ${localipbase}/24 -j terafix
iptables -A terafix -s ${localipbase}/24
iptables -A terafix ! -s ${localipbase}/24
iptables -A terafix -d ${localipbase}/24
iptables -A terafix ! -d ${localipbase}/24
systemctl enable iptables
systemctl start iptables"
configur save status enable
}
export -f enable
disable()
{
localipbase=$(configur load localipbase)
gksu "
iptables -D INPUT -s ${localipbase}/24 -j terafix
iptables -D INPUT ! -s ${localipbase}/24 -j terafix
iptables -D OUTPUT -d ${localipbase}/24 -j terafix
iptables -D OUTPUT ! -d ${localipbase}/24 -j terafix
iptables -F terafix
iptables -X terafix
iptables-save > /etc/iptables/iptables.rules"
$(Xdialog  --cancel-label "خیر" --ok-label "بله" --title "سرویس فایروال" --yesno "آیا می خواهید سرویس فایروال غیر فعال شود؟" 0 0) && gksu "systemctl stop iptables ; systemctl disable iptables"
configur save status disable
}
export -f disable
log()
{
date
echo -e "\nوضعیت: $(configur load status)"
 [ $(configur load status) == "disable" ] && return

loglist=(`gksu "iptables -L terafix -nvx | sed -e 's/ * / /g' -e '1,2d'| cut -f3 -d ' ' " 2>&1 | tail -4 `)
echo "
دانلود از اینترنت: ${loglist[1]} بایت

آپلود به اینترنت: ${loglist[3]} بایت

دانلود از شبکه محلی: ${loglist[0]} بایت

آپلود به شبکه محلی: ${loglist[2]} بایت"
}
export -f log
save_log ()
{
log_file=$(Xdialog --stdout --fselect ~/ 0 0)
log >> $log_file
}
export -f save_log
reset_counter()
{
gksu "iptables -Z terafix"
}
export -f reset_counter
export USR_HELP='
<window title="مستندات">
  <vbox scrollable="true" width="600" height="300">
  <hbox>
   <text selectable="true" use-markup="true"><label>"<span underline='"'single'"' color='"'blue'"'>https://gitlab.com/undergroundman/terafix</span>"</label><action signal="button-press-event">xdg-open https://gitlab.com/undergroundman/terafix &</action></text>
  <text><label>آدرس برنامه:</label></text>
 </hbox>
    <text selectable="false" wrap="true" width-chars="60" use-markup="true">
    <label>"                        <b>راهنمای کاربر</b>
    <b>درباره برنامه</b>
    ---------------------------
          این برنامه برای مانیتورینگ مصرف اینترنت نوشته شده است. و با iptables کار می کند.
          اگر این برنامه را مفید دانستید به نوسعه کدها یا مستندات برنامه کمک کنید.
              آدرس اینترنتی برنامه: https://gitlab.com/undergroundman/terafix

         
          <b>تقسیم بندی فضاهای صفحه اصلی</b>
          --------------------------------------------------------
          صفحه اصلی سه قسمت اصلی دارد:
          ۱) قسمت Action که در برگیرنده ی گزینه های مربوط به اعمال اصلی برنامه است.
          ۲)قسمت Log که مخصوص گزارش ترافیک است.
          ۳)قسمت Interface که گزینه های معمول یک برنامه در آن قسمت قرار دارد.
         
         
          <b>گزینه های صفحه ی اصلی</b>
          -----------------------------------------------
          <i>فعال کردن</i>: این گزینه نرم افزار iptables را تنظیم می کند تا ترافیک ورودی و خروجی را محاسبه کند.و سرویس های لازم را نیز اجرا می کند.
         
          <i>غیرفعال کردن</i>: این گزینه تنظیماتی که توسط همین برنامه اعمال شده را پاک می کند و در صورت تمایل نرم افزار iptables را از لیست اجرای خودکار بیرون می آورد.و همچنین تمامی گزارش هایی که ذخیره نشده اند را نیز از بین می برد.
         
          <i>رست شمارنده</i>: این گزینه شمارنده ها را به نقطه صفر برمی گردانند. مورد استفاده آن برای زمانی است که مثلا اینترنت ماهانه دارید و یک ماه جدید را می خواهید شروع کنید.
         
          <i>توقف</i>: این گزینه موقتا شمارنده را متوقف می کند
         
          <i>شروع</i>: این گزینه برای از سرگیزی محاسبه حجم استفاده می شود این گزینه زمانی کاربر دارد که شما  قبلا شمارنده را متوقف کرده باشید.
        این گزینه برای فعال کردن برنامه نیست برای این منظور از گزینه <i>فعال کردن</i> استفاده کنید.
       
        <i>تنظیمات</i>: صفحه تنظیمات را باز می کند.
       
        <i>تازه سازی</i>: گزارش ترافیگ را چدید می کند.
       
        <i>ذخیره گزارش</i>: گزارش را ذخیره می کند.
       
        <b> صفحه تنظیمات</b>
        ----------------------------------
        <i>تهیه نسخه پشتیبان</i>: این گزینه فقط قبل از فعال شدن برنامه یک نسخه ی پشتیبان از فایل etc/iptables/iptables.rules تهیه می کند . اگر که از فایروال استفاده مخصوصی می کنید توصیه می شود که حتما این گزینه را تیک بزنید ولی اگر که تنظیماتی به فایروال اضافه نکردید این گزینه ضروری نیست. نکته ی مهم این است که آدرس این فایل در آرچ معتبر است و ممکن است که سایر توزیع ها از مسیر دیگری برای ذخیره استفاده کنند.
        این گزینه به ظور پیشفرض فعال است.
       
        <i>پاکسازی ruleهاو chain ها</i>: این گزینه قبل از فعال شدن برنامه و اضافه کردن شمارنده ها همه ی chainها و rule ها رو پاک می کند از این گزینه زمانی استفاده کنید که فایروال تنظیمات مخصوصی نداشته باشد و برنامه به خوبی کار نکند. در اینصورت با پاک کردن همه چیز احتمال دارد مشکل حل شود. .
        این گزینه به خاطر مسائل امنیتی و جلوگیری از خرابکاری به طور پیشفرض غیرفعال است.
       
        <i>آی پی مبنا شبکه محلی</i>: در این برنامه دو نوع ترافیک وجود دارد ۱)ترافیک شبکه محلی ۲)ترافیک اینترنت. که هر آی پی که متعلق به این رنج باشد به عنوان شبکه محلی تعبیر می شود و هر آی پی خارج از این رنج به عنوان ترافیک اینترنت حساب می شود.
        رنج آی پی ها از a.b.c.0 تا a.b.c.254 می باشد مثلا 192.168.1.0 تا 192.168.1.254
        مقدار پیشفرض 192.168.1.0 می باشد.
       
    "</label>
  </text>
    <button>
      <label>Close</label>
      <variable>USR_HELP</variable>
      <action type="closewindow">USR_HELP</action>
    </button>
  </vbox>
  </window>
'
export DEV_HELP='
<window title=" مستندات توسعه دهنده">
  <vbox scrollable="true" width="600" height="300">
    <text  wrap="true" width-chars="60" use-markup="true">
    <label>"<b>راهنمای توسعه دهنده</b>
    <b>مکانیسم عمل</b>
    <b>سبک برنامه نویسی</b>
    <b>اطلاعات تکمیلی-جداول</b>
    <b>کارهایی که باید انجام داد</b>
    <b>توضیح</b>
    ---------------------------

    "</label>
  </text>
    <button>
      <label>Close</label>
      <variable>DEV_HELP</variable>
      <action type="closewindow">DEV_HELP</action>
    </button>
  </vbox>
  </window>
'
export SETTINGS="
<window title=\"تنظیمات\">
<vbox>
<checkbox>
    <default>$(configur load backup)</default>
      <label>تهیه نسخه پشتیبان از فایل /etc/iptables/iptables.rules </label>
      <variable>BACKUP</variable>
    </checkbox>
    <checkbox>
    <default>$(configur load precleanup)</default>
      <label>پاکسازی همه ی ruleها و chain ها(توصیه نمی شود)</label>
      <variable>PRECLEANUP</variable>
    </checkbox>
    <hbox><text><label>آی پی مبنا شبکه محلی</label></text><entry><default>\"$(configur load localipbase)\"</default><variable>LOCALIPBASE</variable></entry><text><label>\"/24\"</label></text></hbox>
    <hbox>
    <button>
    <label>ذخیره و خروج</label>
    <action>configur save backup \$BACKUP </action>
    <action>configur save localipbase \$LOCALIPBASE</action>
    <action>configur save precleanup \$PRECLEANUP</action>
    <action type=\"closewindow\">SETTINGS</action>
    </button>
    <button><variable>SETTINGS</variable><label>خروج بدون ذخیره</label><action type=\"closewindow\">SETTINGS</action></button>
    </hbox>
</vbox>
</window>
"
export MAIN_DIALOG='
<window title="Terafix v0.1">
 <hbox>
   <frame Action>
<button tooltip-text="فعال کردن برنامه"><label>فعال کردن</label><action>enable</action><variable>ENABLE</variable></button>
<button tooltip-text="غیرفعال کردن برنامه"><label>غیرفعال کردن</label><action>disable</action></button>
<button tooltip-text="صفرکردن همه حجم ها"><label>رست شمارنده</label><action>reset_counter</action></button>
<button tooltip-text="توقف موقتی برنامه"><label>توقف</label><variable>PAUSE</variable><action type="disable">PAUSE</action><action type="enable">START</action></button>
<button tooltip-text="شروع دوباره برنامه پس از یک توقف موقتی"><label>شروع</label><variable>START</variable><action type="disable">START</action><action type="enable">PAUSE</action></button>
<button tooltip-text="تنظیمات"><label>تنظیمات</label><action type="launch">SETTINGS</action></button>
   </frame>
   <frame LOG>
     <text>
       <input>log</input>
       <variable>LOG</variable>
     </text>
     <hbox>
       <button>
         <label>تازه سازی</label>
        <input file icon="reload"></input>
         <action type="refresh">LOG</action>
       </button>
      <button>
         <label>ذخبره گزارش</label>
        <input file icon="filesave"></input>
        <action>save_log</action>
       </button>
     </hbox>
   </frame>
   <vbox>
<frame Interface>
     <button tooltip-text="بستن رابط کاربری برنامه"><label>خروج</label><input file stock="gtk-close"></input></button>
     <button><label>راهنمای کاربر</label><action type="launch">USR_HELP</action></button>
     <button><label>راهنمای توسعه دهنده</label><action type="launch">DEV_HELP</action></button>
</frame>
   </vbox>
 </hbox>
 </window>
'

gtkdialog --program=MAIN_DIALOG
توی پیوست هم عکس اش رو می زارم
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین امیــــــر

  • High Sr. Member
  • *
  • ارسال: 617
  • جنسیت : پسر
  • نرم‌افزار مال منه، نه من مال اون
line 235: gtkdialog: command not found
اوبونتو یونیتی

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
سلام
اوه! فراموش کردم لیست دپنسی ها رو بزارم.
نرم افزارهای مورد استفاده:
iptables
gtkdialog
gksu
Xdialog
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین jali316

  • Full Member
  • *
  • ارسال: 118
  • جنسیت : پسر
  • ubuntu 16.04
شبکه محلی یه فایل حدود ۴ مگ انتقال دادم نتیجه:
sudo iptables -L net-dl -v -n -x
Chain net-dl (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
   13443  9031529            all  --  *      *      !192.168.1.0/24       0.0.0.0/0   


sudo iptables -L net-dl -v -n -x
Chain net-dl (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
   18347  9406913            all  --  *      *      !192.168.1.0/24       0.0.0.0/0     
رضایت بخش نبود :(
\********** زندگی یعنی یاد دادن و آموختن ؛ ابونتو یعنی زندگی **********/

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
سلام
آره یک خورده زیاد بود.
بزار توضیح بدم:
ببین توی این دستور ما هرچیزی رو که از آی پی به غیر از ۱۹۲.۱۶۸.۱.۰/۲۴ دریافت کنیم به عنوان ترافیک اینترنت شناخته می شه که خب این در اکثر مواقع درسته ولی بعضی وقت ها درست نیست مثلا فرض کن که بخواهی از آی پی 127.0.0.1 اطلاعات بگیری که خب طبق قاعده بالا به عنوان ترافیک اینترنت شناسایی می شه ولی در واقع این آیپی همون آی پی کامپیوتر خودت هست و چیزی از اینترنت دریافت نمی کنی. وچندتا آی پی دیگه هم هستند که اینتطوری اند. (با نرم افزار etherape می تونی ببینیشون). و خب فقط باید اون آیپی های دیگر رو هم وارد دستور/نرم افزار کرد تا اونها رو هم جدا حساب کنه. که خب چون جای من این اختلاف زیاد محسوس نبود (نهایتش ۱۰۰کیلو) به همین خاطر بیخیالش شدم. ولی تا چند روز  دیگه  برنامه ای که درست کردم (که درواقع همون دستوراتی که نوشتم هست) رو اصلاحش می کنم تا ترافیکش واقعی تر بشه.
چندروز دیگه صبر کن درست می شه :)
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین jali316

  • Full Member
  • *
  • ارسال: 118
  • جنسیت : پسر
  • ubuntu 16.04
سلام
آره یک خورده زیاد بود.
بزار توضیح بدم:
ببین توی این دستور ما هرچیزی رو که از آی پی به غیر از ۱۹۲.۱۶۸.۱.۰/۲۴ دریافت کنیم به عنوان ترافیک اینترنت شناخته می شه که خب این در اکثر مواقع درسته ولی بعضی وقت ها درست نیست مثلا فرض کن که بخواهی از آی پی 127.0.0.1 اطلاعات بگیری که خب طبق قاعده بالا به عنوان ترافیک اینترنت شناسایی می شه ولی در واقع این آیپی همون آی پی کامپیوتر خودت هست و چیزی از اینترنت دریافت نمی کنی. وچندتا آی پی دیگه هم هستند که اینتطوری اند. (با نرم افزار etherape می تونی ببینیشون). و خب فقط باید اون آیپی های دیگر رو هم وارد دستور/نرم افزار کرد تا اونها رو هم جدا حساب کنه. که خب چون جای من این اختلاف زیاد محسوس نبود (نهایتش ۱۰۰کیلو) به همین خاطر بیخیالش شدم. ولی تا چند روز  دیگه  برنامه ای که درست کردم (که درواقع همون دستوراتی که نوشتم هست) رو اصلاحش می کنم تا ترافیکش واقعی تر بشه.
چندروز دیگه صبر کن درست می شه :)
  ضمن تشکر.  وقتی ما از اینترنت استفاده می کنیم آی پی تخصیص داده میشه curl icanhazip.com

 که هر بار ریست سیستم یا مودم عوض میشه آیا اینترنت مصرفی از این آی پی بدست نمیاد؟
\********** زندگی یعنی یاد دادن و آموختن ؛ ابونتو یعنی زندگی **********/

آفلاین anonym

  • Full Member
  • *
  • ارسال: 107
  • جنسیت : پسر
  • My Operating System LINUX
که هر بار ریست سیستم یا مودم عوض میشه آیا اینترنت مصرفی از این آی پی بدست نمیاد؟
آی پی با ریست کردن سیستم تغییر نمیکنه (با ریست کردن مودم تغییر میکنه)

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
  ضمن تشکر.  وقتی ما از اینترنت استفاده می کنیم آی پی تخصیص داده میشه curl icanhazip.com

 که هر بار ریست سیستم یا مودم عوض میشه آیا اینترنت مصرفی از این آی پی بدست نمیاد؟
خواهش.
ببین وقتی ما به عنوان یک کاربر خانگی معمولی به اینترنت وصل می شیم با دو شبکه سر و کار داریم یکی شبکه ی اینترنت و یکی شبکه مودم. و ما هیچ وقت مستقیم به اینترنت وصل نمی شیم درواقع ما به شبکه مودم وصل می شیم و مودم به شبکه اینترنت. پس اون آی پی که با دستور curl icanhazip.com می بینی آی پی مودم هست (که در داخل شبکه اینترنت با معنا هست).

اما درمورد سوالت: بهترین کار همونی هست که نوشتی یعنی مانیتور کردن ترافیک آی پی مودم ولی مشکل اینجاست که مودم خودش یک دستگاه جداست و کامپیوتر ما یک دستگاه دیگه  و ما نمی تونیم با فایروال یک دستگاه(کامپیوتر) یک دستگاه دیگه(مودم) رو کنترل کنیم!. البته بعضی از مودم ها خودشون یک لینوکس درست و درمون دارند که می شه iptables رو روی اون مودم ها تنظیم کرد وترافیک خروجی را مانیتور کرد.

از طرف دیگر هر بسته توی هر شبکه ای حاوی آدرس(همون آی پی) فرستنده و گیرنده هست.
از طرف دیگر یک سری از آی پی ها هست که طبق توافق برای یکسری استفاده ها کنار گذاشته شده یکی از این آی پی ۱۹۲.۱۶۸.۱.۰/۲۴ هست که برای شبکه های محلی استفاده می شه یعنی هیچ سایتی روی اینترنت آی پی ۱۹۲.۱۶۸.۱.۰/۲۴ رو نداره

حالا ما برای اینکه ترافیک اینترنت رو محاسبه کنیم به فایروال می گیم که هر بسته ای که آی پی فرستنده اش ۱۹۲.۱۶۸.۱.۰/۲۴ نبود رو میزان حجم ترافیک اش را محاسبه کن.

کل روش این برنامه و دستورات همینه! :)
اگر سوالی بود بپرس
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین jali316

  • Full Member
  • *
  • ارسال: 118
  • جنسیت : پسر
  • ubuntu 16.04
خیلی ممنون. در اینجا ipac شبکه محلی رو از اینترنت جدا کرده
https://help.ubuntu.com/community/HowToMonitorInternetTrafficTotals
یک سوال سرویس اینترنت مودم از سرویس شبکه محلی جدا نیست؟ wan و lan رو میگم
و یکی هم در مورد پورت ها ، آیا ما نمی تونیم پورت شبکه محلی رو از اینترنت جدا کنیم و در iptables فقط بگیم پورت های اینترنت رو محاسبه کن
\********** زندگی یعنی یاد دادن و آموختن ؛ ابونتو یعنی زندگی **********/

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
آره نرم افزار ipac هم همین کار رو می کنه ولی خب دیگه توسعه داده نمی شه

راستش منظورت رو از جدا بودن سرویس ها نفهمیدم. اگر منظورت شبکه است که خب این دو تا از هم مستقل -و نه جدا- هستند(توسط مودم این دوتا شبکه به هم وصل می شوند) ولی برای محاسبه ترافیک کامپیوتر ما فرقی نمی کنه چون وقتی بسته ای وارد کامپیوتر ما می شه فایروال حجم اون رو حساب می کنه حالا مهم نیست این بسته از شبکه محلی بیاد یا از اینترنت.

در مورد پورت ها هم آره می شه. یعنی اصلا فایروال یک گزینه داره برای همین کار! ولی خب معمولا افراد یک پورت خاصی را  استفاده نمی کنند. ولی اگر که توی شبکه محلی مثلا فقط از ftp استفاده می کنی می شه به فایروال گفت که فقط ترافیک همین پورت رو حساب کن.
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
سلام
این قضیه اون چند کیلوبایت اضافی خیلی پیچیده تر از چندتا آی پی رزرو شده است.
من چند آزمایش انجام دادم. اولش فکر می کردم که این افزایش حجم مربوط به پیاده سازی رمزنگاری باشه یعنی مثلا یک فایل ۱ مگابایتی وقتی رمز می شه (مثل وقتی که با ssh فایل می فرستی) مثلا می شه یک و نیم مگابایت. که خب این تاثیر مهمی داره ولی قضیه از این هم پیچیده تر بود.
توضیح آزمایش: من  از یک کامپیوتر(کامپیوتر ۱) توی شبکه محلی یک فایل رو به کامپیوتر خودم(کامپیوتر ۲) ارسال می کردم.
شرایط آزمایش: برای ارسال از netcat استفاده می کردم که اطلاعات کمتر دستکاری بشه. iptables رو هم با -A INPUT -s 192.168.1.0/24 -d hostname فیلتر کردم. هر مگابایت برابر یک میلیون بایت است.
مقادیر دانلود مربوط به کامپیوتر ۲ و مقادیر آپلود مربوط به کامپیوتر ۱ است.
مقادیر به بایت هستند. مثلا وقتی یک فایل ۴۰ مگابایتی توسط پروتکول UDP منتل می شه کلا 41485170 بایت توسط کارت شبکه دریافت می شه در صورتی که کارت شبکه فرستنده 41796906 بایت رو می فرسته!
10MB-UDP10MB-TCP40MB-UDP40MB-TCP50MB-UDP50MB-tcp
گزارش دانلود iptables101367241036026440546896414369765068362051799936
گزارش دانلود /proc/net/dev103717001045842441485170418260105185627852286182
گزارش آپلود از فایل/proc/net/dev   104492361054086041796906421572325224632652700940

خلاصه با تقریب خوبی به نظرم اون حدود ۵۰۰کیلوبایت اضافه واقعا تبادل شده اند. چون ظاهرا یک فایل ۱۰ مگابایت (با UDP - که ساده ترین پروتکول هست) حدود ۳۷۱ کیلوبایت اظافه دریافتی داره. وهمین فایل اگر با پروتکول TCP منتقل بشه ۴۵۸ کیلوبایت اظافه دریافتی داره)
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین afrod

  • High Hero Member
  • *
  • ارسال: 1526
البته تا چند روز دیگه یک اسکریپت کوچیک براش می نویسم.
در جریانه، منتظر باشیم؟