| DNET(8) | System Manager's Manual | DNET(8) |
نام (NAME)
dnet —
برنامه
آزمایشی
کتابخانه
شبکهسازی
dumb
خلاصه دستور (SYNOPSIS)
dnet command
args [...]
توضیحات (DESCRIPTION)
dnet یک
برنامه
آزمایشی
ساده برای
کتابخانه
dnet(3) است.
میتوان از
آن برای
ایجاد و
ارسال
دیتگرامهای
شبکه در
قالب یک
فیلتر به
سبک یونیکس
(مانند
خواندن از
یا نوشتن در
فایلها و
لولهها) یا
تغییر
پیکربندی
شبکه سیستم
محلی (شامل
حافظه موقت
ARP، مجموعه
قوانین
دیواره
آتش،
رابطهای
شبکه و جدول
مسیریابی)
استفاده
کرد.
دستورات تولید بار مفید (Payload generation commands)
addraddress [...]- تبدیل address (مشخصشده به صورت نام میزبان، نشانی IP یا نشانی MAC) به نمایش باینری آن در خروجی استاندارد.
hexstring [...]- تبدیل string اسکیپشده به سبک C (برای نمونه shellcode) به نمایش باینری آن در خروجی استاندارد.
randlen- نوشتن len بایت تصادفی در خروجی استاندارد.
دستورات کپسولهسازی بستهها (Packet encapsulation commands)
eth[typetype] [srcmac] [dstmac]- افزودن
سرایند
اترنت به
ابتدای
دادههای
خواندهشده
از ورودی
استاندارد
در خروجی
استاندارد.
نوع اترنت
type
میتواند
به صورت
‘
arp’, ‘ip’, یا به عنوان یک عدد هگزادسیمال، اکتال یا دهدهی مشخص شود. arp[opop] [shamac] [spahost] [thamac] [tpahost]- افزودن
سرایند ARP به
ابتدای
دادههای
خواندهشده
از ورودی
استاندارد
در خروجی
استاندارد.
عمل ARP op
میتواند
به صورت
‘
req’, ‘rep’, ‘revreq’, ‘revrep’, یا به عنوان یک عدد هگزادسیمال، اکتال یا دهدهی مشخص شود. ip[tosnum] [idnum] [offoffset] [ttlnum] [protoprotocol] [srchost] [dstdst]- افزودن
سرایند IP به
ابتدای
دادههای
خواندهشده
از ورودی
استاندارد
در خروجی
استاندارد.
مقدار افست
قطعهبندی
offset
میتواند
به عنوان یک
عدد دهدهی
(اختیاراً
پیوستشده
با ‘
+’ برای نشان دادن قطعات بیشتر) یا به عنوان یک عدد هگزادسیمال مشخص شود. پروتکل protocol میتواند با نام، یا به عنوان یک عدد هگزادسیمال، اکتال یا دهدهی مشخص گردد. icmp[typenum] [codenum]- افزودن سرایند ICMP به ابتدای دادههای خواندهشده از ورودی استاندارد در خروجی استاندارد.
tcp[sportport] [dportport] [flagsflags] [seqnum] [acknum] [winnum] [urpnum]- افزودن
سرایند TCP به
ابتدای
دادههای
خواندهشده
از ورودی
استاندارد
در خروجی
استاندارد.
یک port
میتواند
با نام یا
به صورت یک
عدد
هگزادسیمال،
اکتال یا
دهدهی
مشخص شود.
پرچمهای TCP
در flags
میتوانند
به صورت
ترکیبی از
نویسهها
در مجموعه
‘
SAFRPU’ یا به صورت یک عدد هگزادسیمال مشخص شوند. udp[sportport] [dportport]- افزودن سرایند UDP به ابتدای دادههای خواندهشده از ورودی استاندارد در خروجی استاندارد. یک port میتواند با نام یا به صورت یک عدد هگزادسیمال، اکتال یا دهدهی مشخص شود.
دستورات ارسال بسته (Packet transmission commands)
send[device]- خواندن یک بسته از ورودی استاندارد و ارسال آن در شبکه. اگر هیچ device مشخص نشده باشد، فرض میشود که بسته یک دیتگرام IP است و به سمت مقصدش مسیریابی میشود. در غیر این صورت، بسته یک فریم اترنت در نظر گرفته شده و روی رابط مشخصشده ارسال میشود.
دستورات واسط کرنل (Kernel interface commands)
arp show- نمایش حافظه موقت ARP کرنل.
arp gethost- نمایش مدخل ARP کرنل برای host.
arp addhost mac- افزودن یک مدخل ARP برای نگاشت نشانی mac برای host.
arp deletehost- حذف مدخل ARP برای host.
fw show- نمایش مجموعه قوانین دیواره آتش کرنل.
fw add|deleteaction direction device protocol src[:port[-max]] dst[:port[-max]] [type[/code]]- افزودن یک
قانون به یا
حذف یک
قانون از
مجموعه
قوانین
فعال
دیواره آتش.
عمل action
باید
‘
allow’ یا ‘block’ باشد. جهت باید ‘in’ یا ‘out’ باشد. device میتواند یک نام رابط، یا ‘any’ را مشخص کند. protocol میتواند با نام، یا به صورت یک عدد دهدهی مشخص شود. برای پروتکلهای TCP و UDP، یک port (یا بازه در صورت مشخص شدن با مقدار max) میتواند به صورت دهدهی مشخص شده و به نشانی مبدأ یا مقصد پیوست شود. برای ICMP، یک type (و code اختیاری) میتواند به صورت دهدهی مشخص گردد. intf show- نمایش پیکربندی تمام رابطهای شبکه.
intf getdevice- نمایش پیکربندی برای رابط مشخصشده توسط device.
intf setdevice [aliashost] [dsthost] [inethost] [linkmac] [up|down] [arp|noarp]- پیکربندی رابط مشخصشده توسط device.
route show- نمایش جدول مسیریابی کرنل.
route getdst- نمایش مسیر برای مقصد dst, مشخصشده به صورت نام میزبان، نشانی IP یا پیشوند شبکه در قالب نمادگذاری CIDR.
route adddst gw- افزودن یک مسیر برای مقصد dst از طریق دروازه gw.
route deletedst- حذف مسیر برای مقصد dst.
مثالها (EXAMPLES)
ارسال یک دیتگرام UDP حاوی کد شل (shellcode) تصادفی:
dnet hex "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89" \ "\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80" \ "\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh" | \ dnet udp sport 555 dport 666 | \ dnet ip proto udp src 1.2.3.4 dst 5.6.7.8 | dnet send
ذخیره یک درخواست ARP در یک فایل و ارسال دوباره آن:
dnet arp op req sha 0:d:e:a:d:0 spa 10.0.0.3 tpa 10.0.0.4 | \ dnet eth type arp src 0:d:e:a:d:0 dst ff:ff:ff:ff:ff:ff > arp.pkt dnet send fxp0 < arp.pkt dnet send fxp0 < arp.pkt
ارسال یک بسته پینگ قطعهبندیشده:
# ایجاد بسته پینگ با سرایند IP برای تنظیم جمع کنترلی ICMP echo "monkey monkey monkey monkey" | dnet icmp type 8 code 0 | \ dnet ip proto icmp src 1.2.3.4 dst 5.6.7.8 > ping.pkt # برش و حذف سرایند IP dd if=ping.pkt of=ping.data bs=20 skip=1 # قطعهبندی بار مفید IP split -b 24 ping.data p. # ارسال قطعات dnet ip id 1 off 0+ proto icmp src 1.2.3.4 dst 5.6.7.8 < p.aa | \ dnet send dnet ip id 1 off 24 proto icmp src 1.2.3.4 dst 5.6.7.8 < p.ab | \ dnet send
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
Dug Song ⟨dugsong@monkey.org⟩
Oliver Falk ⟨oliver@linux-kernel.at⟩
| October 17, 2001 | Linux 6.12.107+deb13-amd64 |