fstrm_capture(1) General Commands Manual fstrm_capture(1)

fstrm_capture - دریافت و ذخیره داده‌های Frame Streams از سوکت

fstrm_capture -t content-type -w filename
[ -u socket-path ] [ -a IP -p port ]
[ -c max-connections ] [ -b buffer-size ]
[ -s seconds ] [ --gmtime ] [ --localtime ]
[ -d [-d ...] ]

fstrm_capture --type content-type --write filename
[ --unix socket-path ] [ --tcp IP --port port ]
[ --maxconns max-connections ] [ --buffersize buffer-size ]
[ --split seconds ] [ --gmtime ] [ --localtime ]
[ --debug [--debug ...] ]

دستور fstrm_capture به یک سوکت دامنه یونیکس (UNIX domain) یا TCP گوش فرا می‌دهد، داده‌های Frame Streams را دریافت کرده و در یک فایل می‌نویسد.

نوشتن داده‌ها در فایل filename.

اگر گزینه --gmtime یا --localtime داده شده باشد، filename با استفاده از strftime() پیش‌پردازش می‌شود. این امر امکان مشخص کردن یک رشته قالب‌بندی حاوی تاریخ و زمان را برای نام فایل ایجادشده فراهم می‌کند.

اگر filename برابر با «-» باشد و خروجی استاندارد به ترمینال متصل نباشد، fstrm_capture در خروجی استاندارد می‌نویسد. تقسیم‌بندی خروجی (-s) را نمی‌توان با filename برابر «-» استفاده کرد.

ارسال سیگنال SIGHUP به fstrm_capture تمام خروجی‌های بافر شده را در فایل تخلیه (flush) می‌کند. ارسال SIGUSR1 فایل را بسته و دوباره باز می‌کند.

مشخص کردن content-type برای دریافت از سوکت و نوشتن در filename خروجی.
گوش دادن به سوکت دامنه یونیکس socket-path برای دریافت داده‌های Frame Streams. تنها یکی از گزینه‌های -u یا -a می‌تواند مشخص شود.
گوش دادن به اتصالات TCP روی آدرس IP برای دریافت داده‌های Frame Streams. تنها یکی از گزینه‌های -u یا -a می‌تواند مشخص شود. استفاده از -a نیازمند مشخص کردن پورت با -p است.
در صورت مشخص شدن -a، به پورت TCP با شماره port برای دریافت داده‌های Frame Streams گوش فرا می‌دهد.
اجازه دادن به حداکثر max-conns اتصال همزمان. در صورت عدم تعیین، اتصالات همزمان محدود نمی‌شوند.
تنظیم اندازه بافر خواندن بر حسب بایت به مقدار buffersize. در ترکیب با -c، می‌توان از این گزینه برای محدود کردن کل حافظه مصرفی fstrm_capture استفاده کرد. مقدار buffersize همچنین بر حداکثر اندازه فریمی که fstrm_capture می‌پذیرد تأثیر می‌گذارد. فریم‌های بزرگ‌تر از buffersize، با احتساب ۴ بایت بار اضافه فریم‌بندی (framing overhead)، دور ریخته خواهند شد.

مقدار پیش‌فرض buffersize برابر ۲۶۲۱۴۴ (۲۵۶ کیبی‌بایت) است.

بازگشایی مجدد فایل خروجی در هر interval ثانیه. نیازمند استفاده از یکی از گزینه‌های --gmtime یا --localtime است.

توجه داشته باشید که این چرخش فایل با ورود داده‌ها فعال می‌شود، بنابراین ممکن است پس از پایان بازه زمانی، با اندکی تأخیر رخ دهد.

پردازش نام فایل مشخص‌شده در --write از طریق strftime() بر اساس زمان فعلی در گرینویچ (GMT). از این گزینه می‌توان برای ایجاد یک فایل خروجی دارای برچسب زمانی هنگام شروع fstrm_capture، هنگام بازگشایی مجدد فایل خروجی با استفاده از گزینه --split، یا هنگام دریافت سیگنال SIGUSR1 استفاده کرد.
پردازش نام فایل مشخص‌شده در --write از طریق strftime() بر اساس زمان فعلی در منطقه زمانی محلی سیستم. از این گزینه می‌توان برای ایجاد یک فایل خروجی دارای برچسب زمانی هنگام شروع fstrm_capture، هنگام بازگشایی مجدد فایل خروجی با استفاده از گزینه --split، یا هنگام دریافت سیگنال SIGUSR1 استفاده کرد.
افزایش سطح اشکال‌زدایی. بدون گزینه -d، دستور fstrm_capture تنها پیام‌های خطای حیاتی را چاپ می‌کند. حداکثر پنج گزینه -d می‌تواند مشخص شود و تکرار بیش از آن تأثیری نخواهد داشت.

دریافت داده‌های dnstap و ذخیره آن‌ها در فایل‌هایی با چرخش ساعتی (با نام تبدیل‌شده‌ای مانند /var/log/dnstap/dnstap-2018-05-04-12:58:48.fstrm):

fstrm_capture -t protobuf:dnstap.Dnstap \
	-u /var/run/named/dnstap.sock \
	-w /var/log/dnstap/dnstap-%F-%T.fstrm \
	-s 3600 --gmtime

fstrm_dump(1), fstrm_replay(1), strftime(3),
کتابخانه Frame Streams C https://farsightsec.github.io/fstrm