RANDPKT(1)   RANDPKT(1)

randpkt - تولیدکننده تصادفی بسته‌های شبکه

randpkt [ -b <maxbytes> ] [ -c <count> ] [ -F <file format> ] [ -r ] [ -t <type> ] <filename>

randpkt -h|--help

randpkt -v|--version

ابزار randpkt یک ابزار کوچک است که فایلی از ردگیری ترافیک (trace file) پر از بسته‌های تصادفی ایجاد می‌کند.

با ایجاد بسته‌های تصادفی فراوان از یک نوع خاص، می‌توانید شنودکننده‌های بسته (packet sniffers) را بیازمایید تا متوجه شوید چگونه بسته‌های ناهنجار و بدساخت (malformed) را مدیریت می‌کنند. ابزار شنود هرگز نمی‌تواند به داده‌هایی که در بسته می‌بیند اعتماد کند، زیرا همواره امکان شنود یک بسته بسیار نامتعارف که با هیچ استانداردی مطابقت ندارد وجود دارد. ابزار randpkt بسته‌هایی بسیار معیوب تولید می‌کند.

هنگام ساخت بسته‌هایی از یک نوع خاص، randpkt از یک بسته نمونه استفاده می‌کند که به صورت داخلی در خود randpkt ذخیره شده است. برنامه از این بسته به عنوان نقطه شروع برای بسته‌های تصادفی استفاده کرده و سپس بایت‌های تصادفی اضافی را به انتهای این بسته نمونه الحاق می‌کند.

برای مثال، اگر ایجاد بسته‌های تصادفی ARP را انتخاب کنید، randpkt بسته‌ای می‌سازد که شامل یک سرآیند (header) پیش‌فرض Ethernet II است و فیلد Type آن روی ARP تنظیم شده است. پس از سرآیند Ethernet II، تعداد تصادفی بایت با مقادیر تصادفی قرار خواهد گرفت.

-b <maxbytes>

پیش‌فرض 5000.

بیشینه تعداد بایت‌های اضافه‌شده به بسته نمونه را تعیین می‌کند. اگر مقداری برای maxbytes انتخاب کنید که از اندازه بسته نمونه کمتر باشد، بسته‌های شما فقط حاوی بسته نمونه اولیه خواهند بود... تنوع چندانی وجود نخواهد داشت! در چنین شرایطی randpkt متوقف شده و خارج می‌شود.

-c <count>

پیش‌فرض 1000.

تعداد بسته‌های تولیدی را مشخص می‌کند.

-F <file format>

پیش‌فرض pcapng.

قالب فایل خروجی ذخیره‌سازی را تعیین می‌کند. randpkt می‌تواند فایل را در قالب‌های گوناگونی بنویسد؛ دستور randpkt -F فهرستی از قالب‌های خروجی در دسترس را نمایش می‌دهد. توجه داشته باشید که تمام قالب‌های خروجی از تمامی انواع بسته‌ها پشتیبانی نمی‌کنند.

-h|--help

نمایش شماره نسخه و گزینه‌های برنامه و سپس خروج.

-r

نوع بسته به صورت تصادفی برای هر بسته تعیین می‌شود. این حالت نیازمند قالب خروجی‌ای است که بتواند از کپسوله‌سازی‌های (encapsulations) مختلف در هر بسته پشتیبانی کند، مانند pcapng.

-t <type>

پیش‌فرض فریم Ethernet II.

نوع بسته‌ای که باید تولید شود را مشخص می‌کند:

arp             Address Resolution Protocol
bgp             Border Gateway Protocol
bvlc            BACnet Virtual Link Control
dns             Domain Name Service
eth             Ethernet
fddi            Fiber Distributed Data Interface
giop            General Inter-ORB Protocol
icmp            Internet Control Message Protocol
ip              Internet Protocol
ipv6            Internet Protocol Version 6
llc             Logical Link Control
m2m             WiMAX M2M Encapsulation Protocol
megaco          MEGACO
nbns            NetBIOS-over-TCP Name Service
ncp2222         NetWare Core Protocol
sctp            Stream Control Transmission Protocol
syslog          Syslog message
tds             TDS NetLib
tcp             Transmission Control Protocol
tr              Token-Ring
udp             User Datagram Protocol
usb             Universal Serial Bus
usb-linux       Universal Serial Bus with Linux specific header

-v|--version

نمایش اطلاعات کامل نسخه و سپس خروج.

--log-level <level>

تنظیم سطح فعال لاگ‌گیری. سطوح پشتیبانی‌شده از کمترین به بیشترین عبارتند از: "noisy" ،"debug" ،"info" ،"message" ،"warning" ،"critical" و "error". پیام‌های مربوط به سطح مشخص‌شده و سطوح بالاتر چاپ می‌شوند؛ به عنوان مثال "warning" پیام‌های "warning" ،"critical" و "error" را چاپ می‌کند و "noisy" همه پیام‌ها را به نمایش درمی‌آورد. سطوح به حروف بزرگ و کوچک حساس نیستند.

--log-fatal <level>

توقف برنامه در صورتی که هر پیامی در سطح مشخص‌شده یا بالاتر ثبت شود. برای مثال، "warning" با ثبت هر پیام "warning" ،"critical" یا "error" برنامه را متوقف می‌کند.

--log-fatal-count <count>

تعداد پیام‌های لاگ مهلک که پیش از توقف برنامه اجازه عبور دارند.

--log-domains <list>

تنها چاپ پیام‌ها برای دامنه‌های لاگ مشخص‌شده، مانند "GUI,Epan,sshdump". فهرست دامنه‌ها باید با کاما جدا شود. با قرار دادن نویسه "!" به عنوان نخستین نویسه می‌توان شرط را نقیض کرد (معکوس کردن تطابق).

--log-debug <list>

وادار کردن دامنه‌های مشخص‌شده به ثبت لاگ در سطح "debug". فهرست دامنه‌ها باید با کاما جدا شود. با قرار دادن نویسه "!" به عنوان نخستین نویسه می‌توان تطابق را نقیض کرد.

--log-noisy <list>

وادار کردن دامنه‌های مشخص‌شده به ثبت لاگ در سطح "noisy". فهرست دامنه‌ها باید با کاما جدا شود. با قرار دادن نویسه "!" به عنوان نخستین نویسه می‌توان تطابق را نقیض کرد.

--log-fatal-domains <list>

توقف برنامه در صورت ثبت هرگونه پیام برای دامنه‌های لاگ مشخص‌شده. فهرست دامنه‌ها باید با کاما جدا شود.

--log-file <path>

نوشتن پیام‌های لاگ و خروجی خطای استاندارد (stderr) در فایل تعیین‌شده.

برای دیدن شرح گزینه‌های randpkt از این دستور استفاده کنید:

randpkt

برای تولید یک فایل ذخیره ترافیک با 1000 بسته DNS از این دستور استفاده کنید:

randpkt -b 500 -t dns rand_dns.pcapng

برای تولید یک فایل کپچر کوچک حاوی تنها یک فریم LLC از این دستور استفاده کنید:

randpkt -b 100 -c 1 -t llc single_llc.pcapng

pcap(3), editcap(1)

2026-09-03