.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SIEGE 1" .TH SIEGE 1 "2024-11-14" "JoeDog" "Siege Load Tester" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh.SH "نام (NAME)" siege \- ابزار تست بار و سنجش کارایی HTTP/FTP .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" .Vb 4 \& siege [options] \& siege [options] \& siege [options] \-g \& siege [options] \-f urls.txt .Ve .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" \&\f(CWsiege\fR یک ابزار چندنخی (multi-threaded) برای تست بار و سنجش کارایی (benchmarking) پروتکل‌های \s-1HTTP/FTP\s0 است. این ابزار از بیشتر قابلیت‌های شرح‌داده‌شده در RFC 2616 (\s-1HTTP\s0) و RFC 959 (\s-1FTP\s0) پشتیبانی می‌کند. ویژگی‌ها را می‌توان هم از طریق خط فرمان و هم در یک فایل پیکربندی تنظیم کرد. هنگامی که یک ویژگی در هر دو مکان تنظیم شده باشد، خط فرمان اولویت دارد. .PP فایل پیکربندی پیش‌فرض \f(CW$HOME\fR/.siege/siege.conf است. اگر دایرکتوری \f(CW$HOME\fR/.siege و فایل‌های siege.conf و cookies.txt را ندارید، siege هنگام اجرا یک دایرکتوری پیکربندی جدید ایجاد خواهد کرد. شما همچنین می‌توانید دایرکتوری پیکربندی خود را با دستور siege.config ایجاد کنید. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .SS "نحو گزینه‌ها (Option Syntax)" .IX Subsection "Option Syntax" \&\f(CWsiege\fR از گزینه‌های کوتاه و بلند پشتیبانی می‌کند. گزینه‌های کوتاه به این صورت هستند: \-c 25 \-c25 .PP گزینه‌های بلند به این صورت هستند: \-\-concurrent=25 .SS "مقادیر گزینه‌ها (Option Values)" .IX Subsection "Option Values" .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" نسخه انتشار \f(CWsiege\fR و اطلاعات کپی‌رایت را نمایش می‌دهد. .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" پیام راهنمایی شامل توصیف گزینه‌های خط فرمان \f(CWsiege\fR را چاپ می‌کند. .IP "\fB\-C\fR, \fB\-\-config\fR" 4 .IX Item "-C, --config" خلاصه‌ای با جزئیات از تمام گزینه‌های پیکربندی‌شده فعلی را چاپ می‌کند که بیشتر آن‌ها در \f(CW$HOME\fR/.siege/siege.conf تنظیم شده‌اند. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" این دستور \f(CWsiege\fR را در حالت پرحرف (verbose) قرار می‌دهد که در واقع تنظیمات پیش‌فرض است. این گزینه خط فرمان زمانی کاربرد دارد که در فایل پیکربندی مقدار 'verbose = false' تعیین شده باشد و به شما امکان می‌دهد آن را بازنویسی (override) کنید. .Sp به‌طور پیش‌فرض، خروجی پرحرف \f(CWsiege\fR با کدگذاری رنگی نمایش داده می‌شود: * کدهای \s-1HTTP\s0 2xx به رنگ آبی * کدهای \s-1HTTP\s0 3xx به رنگ فیروزه‌ای (cyan) * کدهای \s-1HTTP\s0 4xx به رنگ ارغوانی (magenta) * کدهای \s-1HTTP\s0 5xx به رنگ قرمز * پاسخ‌های ذخیره‌شده در حافظه پنهان \s-1HTTP\s0 به رنگ سیاه .Sp \&\s-1نکته:\s0 می‌توانید رنگ را در siege.conf به این صورت غیرفعال کنید: 'color = off' .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" این دستور \f(CWsiege\fR را بی‌صدا می‌کند. این گزینه بیشتر در اسکریپت‌ها استفاده می‌شود و اغلب همراه با \-g/\-\-get به کار می‌رود. می‌توانید موفقیت یا عدم موفقیت اجرا را از طریق وضعیت خروج (exit code) آن بررسی کنید. .Sp .Vb 6 \& siege \-\-quiet \-g www.joedog.org \& if [ $? \-eq 0 ] ; then \& echo "Success" \& else \& echo "Failure" \& fi .Ve .IP "\fB\-g \s-1URL\s0\fR, \fB\-\-get=URL\fR" 4 .IX Item "-g URL, --get=URL" این گزینه به شما اجازه می‌دهد یک \s-1URL\s0 را درخواست کرده و تبادل سرایندها (headers) را مشاهده کنید. یک دستور متناظر نیز در فایل پیکربندی وجود دارد که به شما امکان می‌دهد متد درخواست را برای این درخواست‌ها تعیین کنید: gmethod = HEAD|GET .Sp .Vb 6 \& $ siege \-g "https://www.joedog.org" \& HEAD / HTTP/1.0 \& Host: www.joedog.org \& Accept: */* \& User\-Agent: Mozilla/5.0 (unknown\-x86_64\-linux\-gnu) Siege/4.0.0\-beta5 \& Connection: close \& \& HTTP/1.1 200 OK \& Server: cloudflare\-nginx \& Date: Tue, 09 Feb 2016 18:18:41 GMT \& Content\-Type: text/html; charset=UTF\-8 \& Connection: close \& Last\-Modified: Wed, 25 Nov 2015 18:46:08 GMT \& Cache\-Control: max\-age=3, must\-revalidate \& Expires: Tue, 09 Feb 2016 18:18:44 GMT \& Vary: Accept\-Encoding,Cookie \& CF\-RAY: 27219407eeff084a\-IAD .Ve .Sp \&\s-1نکته:\s0 بهترین شیوه این است که هنگام ارسال \s-1URL\s0 به \f(CWsiege\fR از خط فرمان، آن را داخل علامت نقل‌قول قرار دهید. .IP "\fB\-p \s-1URL\s0\fR, \fB\-\-print=URL\fR" 4 .IX Item "-p URL, --print=URL" این گزینه مشابه \-g / \-\-get است، اما صفحه‌ای را که از سرور دریافت کرده است \s-1چاپ می‌کند\s0. .Sp .Vb 6 \& $ siege \-p http://www.joedog.org \& GET / HTTP/1.0 \& Host: www.joedog.org \& Accept: */* \& User\-Agent: Mozilla/5.0 (unknown\-x86_64\-linux\-gnu) Siege/4.0.3rc1 \& Connection: close \& \& HTTP/1.1 301 Moved Permanently \& Date: Wed, 19 Oct 2016 16:58:13 GMT \& Content\-Type: text/html; charset=iso\-8859\-1 \& Location: https://www.joedog.org \& Server: cloudflare\-nginx \& Connection: close \& \& \& \& \& 301 Moved Permanently \& \&

Moved Permanently

\&

The document has moved here.

\&
\&
Apache/2.2.31 (Amazon) Server at www.joedog.org Port 80
\& .Ve .IP "\fB\-c \s-1NUM\s0\fR, \fB\-\-concurrent=NUM\fR" 4 .IX Item "-c NUM, --concurrent=NUM" این گزینه به شما امکان می‌دهد تعداد کاربران هم‌زمان را تنظیم کنید. تعداد کل کاربران از نظر فنی به منابع سیستم شما محدود است. .Sp نباید تعداد کاربرانی بیشتر از ظرفیت تنظیم‌شده وب‌سرور خود تعیین کنید. برای نمونه، در پیکربندی پیش‌فرض apache حداکثر ۲۵۵ رشته (thread) در نظر گرفته شده است. اگر siege را با \-c 1024 اجرا کنید، ۷۶۹ کاربر siege در انتظار پاسخ apache معطل خواهند ماند. .Sp به همین دلیل، پیکربندی پیش‌فرض siege به ۲۵۵ کاربر محدود شده است. می‌توانید این عدد را درون siege.conf افزایش دهید، اما اگر اختلالی پیش آمد، مسئولیتی متوجه ما نخواهد بود. .IP "\fB\-r \s-1NUM\s0\fR, \fB\-\-reps=NUM|once\fR" 4 .IX Item "-r NUM, --reps=NUM|once" این گزینه به هر کاربر siege می‌گوید که چند بار باید اجرا شود. مقدار آن معمولاً باید عددی بزرگ‌تر از صفر باشد، اما می‌تواند کلمه کلیدی \&'once' نیز باشد. .Sp اگر \-\-reps=3 باشد، هر کاربر siege قبل از خروج سه بار اجرا خواهد شد. با این حال، اگر \-\-reps=once باشد، هر کاربر دقیقاً یک بار فایل urls.txt را تا انتها پیمایش و اجرا می‌کند. .Sp برای اطلاعات بیشتر درباره فایل urls.txt، گزینه \-f ،\&\-\-file= را ببینید. .IP "\fB\-t NUMm\fR, \fB\-\-time=NUMm\fR" 4 .IX Item "-t NUMm, --time=NUMm" این گزینه مشابه \-\-reps است، اما به جای مشخص کردن تعداد دفعات اجرای هر کاربر، مدت زمانی را که هر کاربر باید اجرا شود مشخص می‌کند. .Sp قالب مقدار به صورت \*(L"NUMm\*(R" است که در آن \*(L"\s-1NUM\*(R"\s0 بیانگر مقدار زمان و پسوند \*(L"m\*(R" یکی از حروف S، M یا H به ترتیب برای ثانیه، دقیقه و ساعت است. برای اجرای \f(CWsiege\fR به مدت یک ساعت، می‌توانید هر یک از ترکیب‌های زیر را انتخاب کنید: \-t3600S، \-t60M، \-t1H. این پسوند به بزرگی و کوچکی حروف حساس نیست، اما نباید هیچ فاصله‌ای بین عدد و حرف پسوند وجود داشته باشد. .IP "\fB\-d \s-1NUM\s0\fR, \fB\-\-delay=NUM\fR" 4 .IX Item "-d NUM, --delay=NUM" این گزینه به \f(CWsiege\fR دستور می‌دهد که بین درخواست هر صفحه چقدر تأخیر داشته باشد. مقدار \s-1NUM\s0 نمایانگر تعداد ثانیه‌ها بین هر درخواست است. این عدد می‌تواند مقداری اعشاری باشد. در واقع مقدار پیش‌فرض نیم ثانیه است (\-\-delay=0.5). .Sp زمان تأخیر بین درخواست‌ها در زمان تراکنش (transaction time) محاسبه \s-1نمی‌شود\s0. اگر دو تراکنش ۰٫۱ ثانیه‌ای دارای ۲ ثانیه تأخیر بین خود باشند، میانگین زمان تراکنش آن‌ها ۰٫۱ ثانیه است. این زمان بر روی کل زمان سپری‌شده (elapsed time) اعمال می‌شود؛ در این حالت، کل زمان سپری‌شده ۲٫۲ ثانیه خواهد بود. .Sp \&\s-1نکته:\s0 هنگامی که تجزیه‌گر (parser) فعال است (ببینید: \-p/\-\-parser)، هیچ تأخیری بین صفحه و اجزای داخلی آن، یعنی شیوه‌نامه‌ها، فایل‌های جاوااسکریپت و غیره اعمال نمی‌شود. تأخیر فقط بین درخواست‌های کل صفحات اعمال می‌گردد..IP "\fB\-b\fR, \fB\-\-benchmark\fR" 4 .IX Item "-b, --benchmark" این دستور به siege اعلام می‌کند که به حالت بنچمارک برود. این بدان معناست که هیچ تأخیری بین تکرارها وجود نخواهد داشت. .IP "\fB\-i\fR, \fB\-\-internet\fR" 4 .IX Item "-i, --internet" این گزینه siege را در حالتی که حالت اینترنت (internet mode) نامیده می‌شود قرار می‌دهد. این گزینه درخواست‌ها را از فایل urls.txt (ببینید: \-f / \-\-file=) به ترتیبی تصادفی ارسال می‌کند. .IP "\fB\-f \s-1FILE\s0\fR, \fB\-\-file=FILE\fR" 4 .IX Item "-f FILE, --file=FILE" این گزینه به siege اعلام می‌کند که با فهرستی از URLها در یک فایل متنی کار کند. URLها در هر خط به صورت مجزا فهرست می‌شوند. بر خلاف URLهایی که به عنوان آرگومان خط فرمان ارسال می‌شوند، URLها در این فایل نباید داخل نقل‌قول (کوتیشن) قرار گیرند. .Sp تجزیه‌کنندهٔ urls.txt در \&\f(CWsiege\fR از کامنت‌ها و متغیرها پشتیبانی می‌کند. از آنجا که \&\f(CWsiege\fR از علامت دلار ($) به عنوان پیشوند برای متغیرهای اسکالر استفاده می‌کند، باید هر متغیری را که می‌خواهید به سرور ارسال شود گریزدهی (escape) کنید: .Sp .Vb 1 \& https://$(HOST)/siege/jsoner.php POST {"price": "\e$10 per mile"} .Ve .IP "\fB\-R \s-1FILE\s0\fR, \fB\-\-rc=FILE\fR" 4 .IX Item "-R FILE, --rc=FILE" این دستور به شما امکان می‌دهد یک فایل منبع (resource file) جایگزین تعیین کنید. به صورت پیش‌فرض، فایل siegerc در مسیر \f(CW$HOME\fR/.siege/siege.conf قرار دارد. با این دستور، می‌توانید مقدار پیش‌فرض را لغو کرده و از یک فایل جایگزین استفاده کنید. .IP "\fB\-L \s-1FILE\s0\fR, \fB\-\-log=FILE\fR" 4 .IX Item "-L FILE, --log=FILE" فایل لاگ پیش‌فرض \f(CW$prefix\fR/var/log/siege.log است. این دستور به شما اجازه می‌دهد فایلی جایگزین را برای ثبت وقایع مشخص کنید. .ie n .IP "\fB\-m ""string""\fR, \fB\-\-mark=""string""\fR" 4 .el .IP "\fB\-m ``string''\fR, \fB\-\-mark=``string''\fR" 4 .IX Item "-m string, --mark=string" این گزینه به شما امکان می‌دهد پیامی را پیش از ثبت آمار در فایل لاگ بنویسید. این گزینه عموماً برای مشخص کردن و شناسایی اجرای بعدی استفاده می‌شود. برای نمونه، می‌توانید فایل را با پارامترهای خط فرمان خود علامت‌گذاری کنید تا مشخص شود چه پیکربندی داده‌های بعدی را تولید کرده است. .ie n .IP "\fB\-H ""header: value""\fR, \fB\-\-header=""Header: value""\fR" 4 .el .IP "\fB\-H ``header: value''\fR, \fB\-\-header=``Header: value''\fR" 4 .IX Item "-H header: value, --header=Header: value" این گزینه به شما اجازه می‌دهد یک هدر سفارشی در درخواست تنظیم کنید. به طور کلی، این هدر جایگزین هدرهای موجود خواهد شد. هدر Cookie یک مورد استثنا است. اگر \-H \*(L"Cookie: value\*(R" را تنظیم کنید، siege آن کوکی را علاوه‌بر سایر کوکی‌ها ارسال خواهد کرد. .ie n .IP "\fB\-A ""string""\fR, \fB\-\-agent=""string""\fR" 4 .el .IP "\fB\-A ``string''\fR, \fB\-\-agent=``string''\fR" 4 .IX Item "-A string, --agent=string" این گزینه به شما اجازه می‌دهد user-agent پیش‌فرض را با مقداری سفارشی بازنویسی کنید. .Sp .Vb 1 \& siege \-\-agent="JoeDog Jr. in da hizzle" .Ve .Sp این هدر را تنظیم خواهد کرد: .Sp .Vb 1 \& User\-agent: JoeDog Jr. in da hizzle .Ve .Sp همچنین می‌توانید User-agent را با گزینهٔ \-H/\-\-header در بالا تنظیم کنید. .ie n .IP "\fB\-T ""text""\fR, \fB\-\-content\-type=""text""\fR" 4 .el .IP "\fB\-T ``text''\fR, \fB\-\-content\-type=``text''\fR" 4 .IX Item "-T text, --content-type=text" این میان‌بر دیگری برای تنظیم هدر است. شما از این گزینه برای بازنویسی هدر پیش‌فرض Content-type در درخواست استفاده می‌کنید. .IP "\fB\-\-no\-parser\fR" 4 .IX Item "--no-parser" تجزیه‌کنندهٔ \s-1HTML\s0 را خاموش می‌کند. هنگامی که siege صفحه‌ای را دانلود می‌کند، آن را برای یافتن عناصر اضافی صفحه مانند style-sheetها، javascript و تصاویر تجزیه می‌کند. برای هر عنصری که پیدا کند درخواست‌های اضافی ارسال خواهد کرد. با فعال بودن این گزینه، siege پس از دریافت صفحهٔ اصلی متوقف خواهد شد. .IP "\fB\-\-no\-follow\fR" 4 .IX Item "--no-follow" این دستور به siege اعلام می‌کند که تغییرمسیرهای (redirects) کد 3xx را دنبال نکند. .SH "قالب نشانی وب (URL FORMAT)" .IX Header "URL FORMAT" ابزار \&\f(CWsiege\fR از قالب‌های \s-1RFC 1738 URL\s0 پشتیبانی می‌کند اما تلاش فراوانی کرده تا میان‌برهای پرکاربرد را برای راحتی شما پیاده‌سازی کند. علاوه‌بر قالب‌های \s-1RFC 1738\s0، نرم‌افزار siege قالب \s-1URL\s0 اختصاصی خود را نیز برای مشخص کردن متد پروتکل معرفی می‌کند. .PP یک \s-1RFC 1738 URL\s0 به این صورت است: ://:@:/;?# .PP یک \s-1URL\s0 در \f(CWsiege\fR همراه با نشانگر متد بدین شکل است: ://:@:/ \s-1POST\s0 .PP همچنین می‌توانید محتوای یک فایل را با استفاده از نویسهٔ هدایت به این صورت ارسال (POST) کنید: ://:@:/ \s-1POST\s0 نویسنده اصلی \f(CWsiege\fR است. افراد پرشماری در سراسر جهان نیز در این برنامه مشارکت داشته‌اند. مشارکت‌های آنان در ChangeLog کد منبع ثبت شده است. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر \f(CW\fR متعلق به \f(CWJeffrey Fulmer, et al.\fR .PP این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «پروانه عمومی همگانی گنو» (\s-1GNU\s0 General Public License) که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، بازتوزیع کرده یا تغییر دهید؛ چه نسخهٔ ۲ پروانه، یا (به انتخاب خودتان) هر نسخهٔ بعدی دیگر. .PP این برنامه با این امید توزیع شده است که مفید واقع شود، اما \&\s-1بدون هرگونه ضمانت\s0؛ حتی بدون ضمانت ضمنی \&\s-1قابلیت فروش\s0 یا \&\s-1تناسب برای یک هدف خاص\s0. برای جزئیات بیشتر به \s-1GNU\s0 General Public License مراجعه کنید. .PP شما باید به همراه این برنامه یک نسخه از \s-1GNU\s0 General Public License را دریافت کرده باشید؛ در غیر این صورت، با بنیاد نرم‌افزارهای آزاد مکاتبه کنید: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, \s-1MA 02139, USA.\s0 .SH "دسترس‌پذیری (AVAILABILITY)" .IX Header "AVAILABILITY" جدیدترین نسخهٔ منتشرشده از \f(CWsiege\fR از طریق بارگیری \s-1HTTP\s0 در دسترس است: http://download.joedog.org/pub/siege .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBsiege.config\fR\|(1) \fBbombardment\fR\|(1) \fBsiege2csv\fR\|(1)