flowdumperp - آنلاین در ابر

این دستور flowdumperp است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


جریان ساز - a grep استفاده(1) مانند ابزار برای فایل های جریان خام

خلاصه


جریان دامپر [-h] [-v] [-s|S|r|R] [-a|n] [[-I expr] -e expr [-E expr]] [-c] [-B فایل] [ -o output_file] [flow_file [...]]

اما معمولا فقط:

flowdumper [-s] -e expr flow_file [...]

شرح


دامپر جریان هست یک grep استفاده(1) مانند ابزار برای انتخاب و پردازش جریان ها از cflowd یا
فایل های جریان خام flow-tools. معیارهای انتخاب با استفاده از گزینه "-e" مشخص می شوند
در زیر شرح داده شده است.

دامپر جریانویژگی های اصلی این است که:

· محتوای فایل های جریان خام را در یکی از دو فرمت داخلی یا فرمت چاپ کنید
کاربران دارند. قالب داخلی "طولان" بسیار شبیه فرمت تولید شده توسط flowdump است
فرمان ارائه شده با cflowd. فرمت "کوتاه" تک خطی مناسب است
پس پردازش بعدی توسط فیلترهای خط گرا مانند SED(1).

· به عنوان یک فیلتر عمل می کند، ورودی جریان خام را از فایل(ها) یا ورودی استاندارد می خواند و
تولید خروجی جریان خام فیلتر شده در خروجی استاندارد. این شبیه به نحوه است grep استفاده(1)
اغلب در فایل های متنی استفاده می شود.

· بر اساس هر معیاری که بتوان آن را در پرل بیان کرد، جریان ها را انتخاب کنید
نحو.

"متغیرهای جریان" و سایر نمادهای موجود برای استفاده در عبارت "-e" اینها هستند
در صورت استفاده به این صورت توسط ماژول Cflow در دسترس قرار می گیرد:

از Cflow qw(:flowvars:tcpflags:icmptypes:icmpcodes) استفاده کنید.

برای جزئیات کامل این مقادیر (به عنوان مثال "perldoc Cflow") به مستندات Cflow perl مراجعه کنید.

بیشتر نحو پرل در عبارات مشخص شده با "-e"، "-I" و "-E" مجاز است.
گزینه ها. برای اطلاعات کامل در مورد اپراتورها ("man perlop") و به صفحات man perl مراجعه کنید
توابع ("man perlfunc") برای استفاده در آن عبارات موجود است.

اگر بدون آرگومان اجرا شود، ورودی استاندارد را به خروجی استاندارد فیلتر می کند.

گزینه ها و استدلال های آنها، تقریباً به ترتیب مفید بودن، عبارتند از:

"-h"
اطلاعات استفاده را نشان می دهد

یادگاری: کمک کنید

"-آ"
چاپ تمام جریان ها

اگر "-e" مشخص نشده باشد، ضمنی است

یادگاری: 'آیا

"-e" expr
این عبارت را یک بار در هر جریان ارزیابی کنید

یادگاری: 'e'expression

"-c"
چاپ تعداد جریان مطابق با ورودی

یادگاری: "تعداد".

"-s"
جریان چاپ در قالب کوتاه (یک خطی)، با "-n" نادیده گرفته می شود

یادگاری: 's'hort

"-r"
جریان چاپ در قالب فایل جریان خام/دودویی

نادیده گرفته شده با "-n"

یادگاری: 'r'aw

"-R"
جریان‌ها را در قالب فایل جریان خام/دودویی «repacks» و چاپ می‌کند

به "-e" نیاز دارد، با "-n" نادیده گرفته می شود، با "-p" مفید است.

یادگاری: 'R'epack خام

"-n"
جریان های منطبق را چاپ نکنید

یادگاری: مانند "perl "-n" یا "sed "-n""

"-o" output_file
خروجی را به فایل مشخص شده ارسال کنید. یک مجرد printf(3) تعیین کننده تبدیل رشته می تواند
در مقدار output_file استفاده شود (مانند "/ tmp /%s.txt") برای ایجاد فایل خروجی
نام یک تابع از نام پایه فایل ورودی.

mneomic: فایل 'o'output

"-S"
چاپ در قالب کوتاه "قدیمی" (یک خطی) جریان می یابد

نادیده گرفته شده با "-n"

یادگاری: «شورت

"-v"
با پیام ها پرحرف باشید

یادگاری: 'v'erbose

"-V"
با پیام ها بسیار پرمخاطب باشید (به معنی ""-v"" است)

یادگاری: خیلی پرمخاطب

"-I" expr
بیان eval در ابتدا، قبل از پردازش جریان

بدون "-e" عملا بی فایده است

یادگاری: «بیان اولیه

"-E" expr
بیان eval پس از اتمام پردازش جریان

بدون "-e" عملا بی فایده است

یادگاری: بیان 'E'ND

فایل "-B".
فایل dump مشخص شده BGP را با استفاده از Net::ParseRouteTable بارگیری کنید.

در عبارت اختیاری خود، اکنون می توانید به این متغیرها مراجعه کنید:

$dst_as_path_arrayref
$dst_origin_as
$dst_peer_as
$src_as_path_arrayref
$src_origin_as
$src_peer_as

که باعث جستجو می شود. در صورت عدم موفقیت جستجو، مقادیر آنها تعریف نشده است.

Mnemonic: 'B'GP dump file

"-p" prefix_mappings_file
خواندن فایل حاوی نگاشت پیشوند IPv4 در این قالب (یکی در هر خط):

10.42.69.0/24 -> 10.69.42.0/24
...

هنگام تعیین این گزینه، می توانید، و باید در برخی موارد، ENCODE را فراخوانی کنید
زیر روال در عبارات خود را به آن کدگذاری آدرس IP flowvars مانند
$Cflow::exporter، $Cflow::srcaddr، $Cflow::dstaddr، و $Cflow::nexthop.

یادگاری: 'p'رفیکس

مثال ها


تمام جریان ها را در قالب چند خطی در یک پیجر چاپ کنید:

$ flowdumper -a جریان دارد.* |کمتر

تمام جریان های UDP را با استفاده از فرمت جریان باینری خام به فایل دیگری چاپ کنید:

$ flowdumper -re '17 == $protocol' flows.current > udp_flows.current

چاپ تمام جریان های TCP که بیت SYN در پرچم های TCP تنظیم شده است:

$ flowdumper -se '6 == $protocol && ($TH_SYN & $tcp_flags)' جریان دارد.*

10 جریان اول را با استفاده از فرمت جریان باینری خام در فایل دیگری چاپ کنید:

$ flowdumper -I '$n = 10' -re '$n-- or exit' جریان دارد.*0 > head.cflow

تمام جریان ها را با زمان شروع و پایان با استفاده از قالب دو خطی چاپ کنید:

$ flowdumper -se 'print scalar(localtime($startime)), "\n"' جریان دارد.*

تمام جریان ها را با آدرس منبع مشخص شده با استفاده از یک قالب کوتاه و تک خطی چاپ کنید:

$ flowdumper -se "10.42.42.42" eq $srcip" جریان دارد.*

همین کار را با روشی سریعتر، اما کمتر واضح انجام دهید:

$ flowdumper -I'
استفاده از سوکت؛
$addr = unpack("N", Socket::inet_aton("10.42.42.42"));
' -se '$addr == $srcaddr' جریان دارد.*

(این روش دوم سریعتر اجرا می شود زیرا inet_aton(3) به جای یک بار فقط یک بار فراخوانی می شود
در هر جریان.)

چاپ تمام جریان ها با یک آدرس منبع در داخل شبکه/زیر شبکه مشخص شده:

فلوددامپر $
من از سوکت استفاده می کنم.
$mask = unpack("N", Socket::inet_aton("10.42.0.0"));
$width = 16'
-se '$mask == ((0xffffffff << (32-$عرض)) & $srcaddr)' جریان دارد.*

چاپ همه جریان ها در جایی که آدرس مبدا یا مقصد، اما نه هر دو، وجود دارد
در مجموعه شبکه ها یا زیرشبکه های مشخص شده:

فلوددامپر $
من از Net::Patricia استفاده می کنم.
$pt = Net::Patricia->new;
map { $pt->add_string($_, 1) } qw( 10.42.0.0/16
10.69.0.0/16 )'
-se '1 == ($pt->match_integer($srcaddr) +
$pt->match_integer($dstaddr))' جریان دارد.*

تعداد کل "گفتگوها" (آدرس های میزبان منبع منحصر به فرد) را با لوله گذاری آنها به آنها بشمارید
نوع(1) و wc(1) برای شمارش آنها:

فلوددامپر $
من از Net::Patricia استفاده می کنم.
$pt = Net::Patricia->new;
map { $pt->add_string($_, 1) } qw( 10.42.0.0/16
10.69.0.0/16 )'
-ne '$pt->match_integer($srcaddr) و چاپ "$srcip\n"' جریان دارد.*
| مرتب سازی -u |wc -l

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

فلوددامپر $
من از Net::Patricia استفاده می کنم.
$pt = new Net::Patricia;
map { $pt->add_string($_, 1) } qw( 10.42.0.0/16
10.69.0.0/16)؛
$talkers = new Net::Patricia'
-ne '$pt->match_integer($srcaddr) &&
($talkers->match_integer($srcaddr) یا
$talkers->add_string($srcip, 1))'
-E 'printf("%d\n", $talkers->climb( sub { 1 } ))" جریان دارد.*

(برای تعداد زیادی جریان، این روش دوم سریعتر است زیرا a را پر می کند
Net::Patricia با آدرس‌های منحصربه‌فرد تلاش می‌کند و گره‌های حاصل را به‌جای شمارش می‌کند
باید آنها را در خروجی استاندارد چاپ کرد و سپس باید آنها را برای تعیین تعداد مرتب کرد
منحصر به فرد هستند.)

جریان های TCP را انتخاب کنید و آدرس های IP را با توجه به کدهای پیشوندی "ENCODE" کنید
مشخص شده در "prefix_encodings.txt":

$ flowdumper -p prefix_encodings.txt -se '6 == $پروتکل && ENCODE'

یک فایل جریان خام جدید با آدرس های IP که مطابق پیشوند کدگذاری شده است، تولید کنید
رمزگذاری های مشخص شده در "prefix_encodings.txt":

$ flowdumper -p prefix_encodings.txt -Re 'ENCODE' flows > flows.enc

مجموعه ای از فایل های جریان خام را تولید کنید که دارای مقادیر AS مبدا $src_as و $dst_as هستند.
بر اساس جستجو در جدول مسیریابی مشخص شده خارجی (در فایل "router.bgp")
و اطلاعات آدرس IP را با صفر جایگزین کنید (برای ناشناس بودن):

روتر $ ssh "نمایش پروتکل مسیر bgp مختصر" > router.bgp # Juniper

فلوددامپر $
-B router.bgp
-e '$src_as = $src_origin_as,
$dst_as = $dst_origin_as،
(($صادرکننده = 0)،
($srcaddr = 0)،
($src_mask = 0)،
($dstaddr = 0)،
($dst_mask = 0)،
($nexthop = 0)، 1)'
-R
-o / tmp /%s.cflow_enc
جریان دارد*

NOTES


این ابزار از دانیل مک راب الهام گرفته شده است تخلیه جریان ابزاری که با آن عرضه می شود
جریان یافت. دامپر جریان در ابتدا صرفاً به عنوان نمونه ای از آنچه می توان با آن انجام داد نوشته شده بود
ماژول Cflow perl، اما از آن زمان به یک ابزار کامل تر تبدیل شده است.

از flowdumperp به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید



جدیدترین برنامه های آنلاین لینوکس و ویندوز