هندبوک جامع Kali Linux — نسخه مرحله‌ای

مرجع فارسی و آفلاین برای ۵۲۰ ابزار و فرمان: نصب، سینتکس، زیرفرمان‌ها، گزینه‌های مهم، مثال قابل کپی، اتصال خروجی ابزارها و گردش‌کار کامل از تعریف محدوده تا گزارش.

۵۰۴۰ مرجع + ۱۰ امنیتی
۵۲۰ + ۱۶۰ابزار مرجع + درس امنیتی
۷مرحله گردش‌کار
۱۰۰٪آفلاین و RTL
⚖️ تمام مثال‌ها فقط برای سیستم خودتان، لابراتوار، CTF یا ارزیابی دارای مجوز کتبی‌اند. وجود یک فرمان در این مرجع به معنی مجازبودن اجرای آن روی هدف دیگران نیست.
/ جست‌وجو · Esc پاک‌کردن · J/K ابزار بعد/قبلمطالعه‌شده: ۰ از ۶۸۰
⌨️

الگوهای تکمیلی اجرای فرمان

فرمان‌های بیشتر بدون افزودن فصل یا ابزار جدید

کشف command و منبع آن

command -v -- TOOL
type -a -- TOOL
readlink -f "$(command -v TOOL)"
dpkg-query -S "$(command -v TOOL)" 2> package-owner.err

راهنما و گزینه‌های پشتیبانی‌شده

TOOL --help 2>&1 | tee TOOL.help.txt
TOOL --version 2>&1 | tee TOOL.version.txt
man -f -- TOOL
apropos -- TOOL | head -n 30

ثبت stdout، stderr و exit code

TOOL ARGS >TOOL.stdout.log 2>TOOL.stderr.log
status=$?
printf 'exit=%s\n' "$status" | tee TOOL.exit
printf '%s  %s\n' "$(date -Is)" "$status" >> run-history.tsv

نمایش زنده همراه فایل log

set -o pipefail
stdbuf -oL -eL TOOL ARGS   > >(tee TOOL.stdout.log)   2> >(tee TOOL.stderr.log >&2)
printf 'pipeline=%s\n' "$?" >> TOOL.meta

محدودیت زمان و پایان کنترل‌شده

timeout --signal=INT --kill-after=5s 60s TOOL ARGS   >TOOL.out 2>TOOL.err
case $? in
  0) echo success ;;
  124) echo timeout >&2 ;;
  *) echo failed >&2 ;;
esac

محیط حداقلی و متغیرهای صریح

env -i HOME="$HOME" PATH=/usr/sbin:/usr/bin:/sbin:/bin   LANG=C.UTF-8 TOOL ARGS
printenv | sort > environment.before
TOOL ARGS
printenv | sort > environment.after

پردازش امن نام فایل‌ها

find evidence -type f -print0   | sort -z   | xargs -0 -r sha256sum   | tee SHA256SUMS
find evidence -type f -exec file -- {} + > file-types.txt

اجرای موازی با سقف مشخص

parallel --jobs 2 --halt soon,fail=1   --joblog jobs.tsv 'TOOL {} > {.}.out 2>{.}.err' :::: targets.txt
cut -f7 jobs.tsv | sort | uniq -c > exit-summary.txt

Retry با backoff و شمارش تلاش

for attempt in 1 2 3; do
  TOOL ARGS && break
  status=$?
  printf 'attempt=%s exit=%s\n' "$attempt" "$status" >&2
  sleep $((attempt * 2))
done

قفل جلوگیری از اجرای هم‌زمان

flock --nonblock /tmp/lab-task.lock   sh -c 'TOOL ARGS >task.out 2>task.err'
flock --timeout 10 /tmp/report.lock   make report

کاهش اولویت CPU و I/O

nice -n 10 ionice -c2 -n7 TOOL ARGS
taskset --cpu-list 0,1 TOOL ARGS
chrt --idle 0 TOOL ARGS
/usr/bin/time -v TOOL ARGS 2> resource-usage.txt

ثبت transcript و هش خروجی‌ها

script --quiet --timing=terminal.time terminal.typescript
TOOL ARGS |& tee TOOL.combined.log
exit
scriptreplay terminal.time terminal.typescript
sha256sum terminal.* TOOL.combined.log > SESSION.SHA256SUMS
🗺️

گردش‌کار هفت‌مرحله‌ای

فرمان‌ها را زنجیره کنید؛ ابزارها را تصادفی اجرا نکنید.

۱. محدوده و ساختار پروژه

PROJECT="$HOME/eng/$(date +%F)-authorized-lab"
mkdir -p "$PROJECT"/{00-scope,01-notes,02-recon,03-evidence,04-report}
cd "$PROJECT" && date -Is | tee 01-notes/start.txt
# IP، دامنه، بازه زمانی، روش‌های مجاز و تماس اضطراری را در 00-scope/scope.md بنویسید.

۲. کشف کم‌خطر و ثبت خروجی

nmap -sn 192.0.2.0/24 -oA 02-recon/discovery
awk '/Up$/{print $2}' 02-recon/discovery.gnmap | tee 02-recon/live-hosts.txt

۳. پورت → سرویس → enumeration

nmap -sV -sC -iL 02-recon/live-hosts.txt -oA 02-recon/services
# 80/443 → httpx/whatweb/ffuf | 445 → smbclient/enum4linux-ng | 53 → dig/dnsrecon

۴. اعتبارسنجی حداقلی

هر خروجی scanner یک سرنخ است، نه اثبات. نسخه، پیکربندی، درخواست و پاسخ را با کم‌خطرترین روش دستی تأیید کنید. نرخ ابزارهای خودکار را محدود کنید.

۵. شواهد و تمامیت

cp RAW_OUTPUT 03-evidence/
sha256sum 03-evidence/* | tee 03-evidence/SHA256SUMS
script -a 01-notes/terminal.log

۶. گزارش قابل اقدام

برای هر یافته: عنوان، شدت، دارایی، اثر، شاهد، مراحل بازتولید امن، راهکار، مالک اصلاح و نتیجه بازآزمایی را ثبت کنید.

۷. پاک‌سازی و بازآزمایی

فایل و حساب آزمایشی را طبق توافق حذف کنید، زمان پایان را ثبت کنید و پس از اصلاح دقیقاً همان آزمون حداقلی را تکرار کنید.

🔗

زنجیره‌های آماده و قابل بازبینی

خروجی هر فرمان، ورودی مرحله بعد است.

شبکه → سرویس

nmap -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}' > live.txt
nmap -sV -sC -iL live.txt -oA services

دامنه → HTTP

subfinder -d example.com -silent | sort -u > subs.txt
httpx -l subs.txt -silent -title -status-code -json -o http.json

URL → محتوای تاریخی

printf '%s\n' example.com | waybackurls | sort -u > urls.txt
sed -n '1,100p' urls.txt | httpx -silent -status-code

PCAP → رویداد

mkdir -p zeek-out && cd zeek-out
zeek -r ../capture.pcap
zeek-cut id.orig_h id.resp_h service < conn.log | sort | uniq -c

شاهد → تمامیت

find evidence -type f -print0 | sort -z | xargs -0 sha256sum > SHA256SUMS
sha256sum -c SHA256SUMS

Markdown → گزارش

pandoc report.md --toc --standalone -o report.html
sha256sum report.md report.html > report.SHA256SUMS

پایگاه داده → خروجی → هش

psql -h TARGET -U testuser -d lab -Atc 'SELECT version();'   | tee db-version.txt
sha256sum db-version.txt > db-version.txt.sha256

اجرای محدود → تفکیک stdout/stderr

timeout 60s command   > >(tee output.log)   2> >(tee errors.log >&2)
printf 'exit=%s\n' "$?" | tee -a run.meta

API → JSON → جدول

http --check-status GET https://TARGET/api/items   Authorization:'Bearer TOKEN'   | tee response.json   | jq -r '.items[] | [.id,.name] | @tsv' > items.tsv

گواهی → بررسی زنجیره → fingerprint

openssl s_client -connect TARGET:443 -servername lab.test   -showcerts tls-errors.log   | openssl x509 -outform PEM > leaf.pem
openssl verify -CAfile ca.pem leaf.pem
openssl x509 -in leaf.pem -noout -fingerprint -sha256

Image → loop فقط‌خواندنی → هش

sha256sum evidence.img | tee evidence.img.sha256
LOOP=$(sudo losetup --find --show --read-only --partscan evidence.img)
lsblk -f "$LOOP" | tee image-layout.txt
sudo losetup -d "$LOOP"

اتصال راه‌دور → اجرای محدود → جمع‌آوری

ssh -o BatchMode=yes testuser@TARGET   'hostname; date -Is; id'   > host-baseline.txt 2> ssh-errors.log
sha256sum host-baseline.txt ssh-errors.log > remote.SHA256SUMS

EML → پیوست → نوع و هش

mkdir -p extracted
ripmime -i message.eml -d extracted
find extracted -type f -print0   | tee files.list0   | xargs -0 file > attachment-types.txt
find extracted -type f -print0 | xargs -0 sha256sum > attachments.sha256

VPN → وضعیت route → آزمون محدود

sudo wg show | tee wg-before.txt
ip -json route show | jq . > routes.json
timeout 10s curl --fail --silent https://TARGET/health   > health.txt 2> health.err
printf 'exit=%s\n' "$?" >> health.meta

Log → نرمال‌سازی → شمارش

journalctl --since today -o json   | tee events.jsonl   | jq -r '._SYSTEMD_UNIT // "unknown"'   | sort | uniq -c | sort -nr > units.count
sha256sum events.jsonl units.count > logs.SHA256SUMS

پشتیبان → آزمون → manifest

tar --create --file evidence.tar evidence/
zstd -19 -T0 evidence.tar -o evidence.tar.zst
zstd --test evidence.tar.zst 2> archive-test.log
sha256sum evidence.tar.zst archive-test.log > backup.SHA256SUMS

Lockfile → ممیزی → SARIF/JSON

npm ci --ignore-scripts   > install.log 2> install.err
npm audit --json   | tee npm-audit.json   | jq '.metadata.vulnerabilities' > vulnerability-counts.json
sha256sum npm-audit.json vulnerability-counts.json > audit.SHA256SUMS

IaC → render → schema → policy

kustomize build overlays/lab   | tee rendered.yaml   | kubeconform -strict -summary
conftest test rendered.yaml --policy policy/   --output json > policy-results.json

Runtime → ثبت محدود → گزارش

sudo timeout 15s sysdig -w runtime.scap proc.name=lab-app   2> capture.err
sysdig -r runtime.scap -p '%evt.time %proc.name %evt.type'   | sort | uniq -c > syscall-summary.txt
sha256sum runtime.scap syscall-summary.txt > runtime.SHA256SUMS

Routing → JSON → خلاصه همسایه‌ها

sudo vtysh -c 'show bgp summary json'   | tee bgp-summary.json   | jq '.ipv4Unicast.peers // {} | to_entries[] | [.key,.value.state] | @tsv'   > bgp-peers.tsv
sha256sum bgp-summary.json bgp-peers.tsv > routing.SHA256SUMS

DNSSEC → probe → تحلیل → نمودار

dnsviz probe example.test -o dns-probe.json
dnsviz analyze dns-probe.json   > dns-analysis.txt 2> dns-analysis.err
dnsviz graph -T svg dns-probe.json -o dnssec.svg
sha256sum dns-probe.json dns-analysis.txt dnssec.svg > dns.SHA256SUMS

Proxy → اعتبارسنجی → reload کنترل‌شده

if sudo nginx -t > nginx-test.log 2>&1; then
  sudo nginx -s reload
  curl --fail --silent https://TARGET/health | tee health.json
else
  cat nginx-test.log >&2; exit 1
fi

Secret → رمزگذاری → policy check

sops --encrypt --age "$AGE_RECIPIENT" secrets.yaml   > secrets.enc.yaml
sops --decrypt secrets.enc.yaml   | conftest test - --input yaml --policy policy/
git diff --no-index /dev/null secrets.enc.yaml > encrypted.diff || true

CI → lint → SAST → dependency audit

set -o pipefail
shellcheck scripts/*.sh 2>&1 | tee shellcheck.log
semgrep scan --config auto src/ --json -o semgrep.json
npm audit --json | tee npm-audit.json | jq '.metadata.vulnerabilities'
sha256sum shellcheck.log semgrep.json npm-audit.json > ci.SHA256SUMS

VM image → بررسی → inspect فقط‌خواندنی

qemu-img check lab.qcow2 2>&1 | tee image-check.log
qemu-img info --output=json lab.qcow2 | tee image-info.json | jq .
virt-inspector -a lab.qcow2 > inspection.xml
sha256sum lab.qcow2 image-info.json inspection.xml > vm.SHA256SUMS

میزبان → SCAP → checksum بسته‌ها

oscap xccdf eval --profile PROFILE   --results results.xml --report report.html datastream.xml
sudo debsums -s 2> changed-package-files.txt
sha256sum results.xml report.html changed-package-files.txt   > compliance.SHA256SUMS

زمان → منابع → offset → شاهد

date -Is | tee clock-observed.txt
chronyc tracking | tee chrony-tracking.txt
chronyc sources -v | tee chrony-sources.txt
ntpdate -q time.example.test > ntp-offset.txt 2> ntp-errors.txt
sha256sum chrony-*.txt ntp-*.txt > time.SHA256SUMS

Repository → secret scan → اندازه → changelog

gitleaks detect --source . --redact   --report-format json --report-path gitleaks.json
git-sizer --json > git-size.json
git cliff --unreleased > CHANGELOG.preview.md
sha256sum gitleaks.json git-size.json CHANGELOG.preview.md > repo.SHA256SUMS

📚 فهرست مطالب

⚙️

1. مبانی، نصب و نگهداری

13 ابزار و فرمان

kali-tweaksتنظیم متاپکیج، hardening و مجازی‌سازی

001مقدماتیپایه

نصب: sudo apt install kali-tweaks

SYNTAXkali-tweaks
زیرفرمان / گزینهکاربرد
Metapackagesمجموعه ابزارها
Hardeningسخت‌سازی
Virtualizationگزینه‌های VM
kali-tweaks

روش پیشنهادی: پیش از اجرای kali-tweaks نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kali-tweaks | tee kali-tweaks.path
type -a -- kali-tweaks 2> kali-tweaks.lookup.err
apropos -- kali-tweaks | head -n 20
man -f -- kali-tweaks 2>/dev/null || true

aptمدیریت بسته در Kali Rolling

002مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXapt SUBCOMMAND [OPTIONS] [PACKAGE]
زیرفرمان / گزینهکاربرد
updateتازه‌سازی فهرست
installنصب
removeحذف
full-upgradeارتقای کامل
sudo apt update && sudo apt full-upgrade
sudo apt install nmap
apt policy nmap

روش پیشنهادی: پیش از اجرای apt نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- apt | tee apt.path
type -a -- apt 2> apt.lookup.err
apropos -- apt | head -n 20
man -f -- apt 2>/dev/null || true

apt-cacheجست‌وجوی اطلاعات بسته

003مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXapt-cache SUBCOMMAND QUERY
زیرفرمان / گزینهکاربرد
searchجست‌وجو
showمشخصات
dependsوابستگی‌ها
policyنسخه‌ها
apt-cache search forensics
apt-cache show nmap
apt-cache depends wireshark

روش پیشنهادی: پیش از اجرای apt-cache نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- apt-cache | tee apt-cache.path
type -a -- apt-cache 2> apt-cache.lookup.err
apropos -- apt-cache | head -n 20
man -f -- apt-cache 2>/dev/null || true

dpkgبررسی بسته‌های Debian

004مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXdpkg [OPTIONS] PACKAGE
زیرفرمان / گزینهکاربرد
-lفهرست نصب‌شده
-Lفایل‌های بسته
-Sمالک فایل
-iنصب deb
dpkg -l | grep nmap
dpkg -L nmap
dpkg -S /usr/bin/nmap

روش پیشنهادی: پیش از اجرای dpkg نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dpkg | tee dpkg.path
type -a -- dpkg 2> dpkg.lookup.err
apropos -- dpkg | head -n 20
man -f -- dpkg 2>/dev/null || true

systemctlمدیریت سرویس‌ها

005مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXsystemctl SUBCOMMAND UNIT
زیرفرمان / گزینهکاربرد
statusوضعیت
start/stopشروع/توقف
enable/disableبوت
restartراه‌اندازی مجدد
sudo systemctl enable --now postgresql
systemctl status ssh
sudo systemctl restart NetworkManager

روش پیشنهادی: پیش از اجرای systemctl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- systemctl | tee systemctl.path
type -a -- systemctl 2> systemctl.lookup.err
apropos -- systemctl | head -n 20
man -f -- systemctl 2>/dev/null || true

journalctlخواندن لاگ systemd

006مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXjournalctl [OPTIONS]
زیرفرمان / گزینهکاربرد
-uواحد
-bبوت جاری
-fدنبال‌کردن
-pشدت
--sinceاز زمان
journalctl -u ssh --since today
journalctl -p err -b
journalctl -f

روش پیشنهادی: پیش از اجرای journalctl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- journalctl | tee journalctl.path
type -a -- journalctl 2> journalctl.lookup.err
apropos -- journalctl | head -n 20
man -f -- journalctl 2>/dev/null || true

ipآدرس، رابط و مسیر شبکه

007مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXip OBJECT SUBCOMMAND
زیرفرمان / گزینهکاربرد
addrآدرس
linkرابط
routeمسیر
neighهمسایه
netnsفضای نام
ip -br address
ip link show
ip route
ip neigh

روش پیشنهادی: پیش از اجرای ip نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ip | tee ip.path
type -a -- ip 2> ip.lookup.err
apropos -- ip | head -n 20
man -f -- ip 2>/dev/null || true

ssسوکت‌ها و پورت‌های محلی

008مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXss [OPTIONS] [FILTER]
زیرفرمان / گزینهکاربرد
-tTCP
-uUDP
-lگوش‌دهنده
-pپردازش
-nعددی
ss -tulpn
ss -tan state established
ss -l '( sport = :80 )'

روش پیشنهادی: پیش از اجرای ss نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ss | tee ss.path
type -a -- ss 2> ss.lookup.err
apropos -- ss | head -n 20
man -f -- ss 2>/dev/null || true

nmcliکنترل NetworkManager

009مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXnmcli OBJECT COMMAND
زیرفرمان / گزینهکاربرد
deviceدستگاه
connectionپروفایل
radioرادیو
generalوضعیت
nmcli device status
nmcli connection show
nmcli device wifi list

روش پیشنهادی: پیش از اجرای nmcli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- nmcli | tee nmcli.path
type -a -- nmcli 2> nmcli.lookup.err
apropos -- nmcli | head -n 20
man -f -- nmcli 2>/dev/null || true

resolvectlوضعیت و آزمون DNS

010مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXresolvectl COMMAND [NAME]
زیرفرمان / گزینهکاربرد
statusپیکربندی
queryپرس‌وجو
flush-cachesپاک‌کردن cache
resolvectl status
resolvectl query example.com
resolvectl statistics

روش پیشنهادی: پیش از اجرای resolvectl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- resolvectl | tee resolvectl.path
type -a -- resolvectl 2> resolvectl.lookup.err
apropos -- resolvectl | head -n 20
man -f -- resolvectl 2>/dev/null || true

timedatectlزمان و همگام‌سازی ساعت

011مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXtimedatectl SUBCOMMAND
زیرفرمان / گزینهکاربرد
statusوضعیت
set-ntpفعال‌سازی NTP
set-timezoneمنطقه زمانی
timedatectl status
sudo timedatectl set-ntp true

روش پیشنهادی: پیش از اجرای timedatectl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- timedatectl | tee timedatectl.path
type -a -- timedatectl 2> timedatectl.lookup.err
apropos -- timedatectl | head -n 20
man -f -- timedatectl 2>/dev/null || true

update-alternativesانتخاب برنامه پیش‌فرض

012مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXupdate-alternatives [OPTIONS] NAME
زیرفرمان / گزینهکاربرد
--configانتخاب تعاملی
--displayنمایش
--setتنظیم مستقیم
sudo update-alternatives --config x-terminal-emulator
update-alternatives --display editor

روش پیشنهادی: پیش از اجرای update-alternatives نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- update-alternatives | tee update-alternatives.path
type -a -- update-alternatives 2> update-alternatives.lookup.err
apropos -- update-alternatives | head -n 20
man -f -- update-alternatives 2>/dev/null || true

command-not-foundپیداکردن بسته فرمان ناشناخته

013مقدماتیپایه

نصب: sudo apt install command-not-found

SYNTAXcommand-not-found COMMAND
زیرفرمان / گزینهکاربرد
update-command-not-foundتازه‌سازی
apt-file searchجست‌وجوی فایل
command-not-found masscan
apt-file search bin/vol.py

روش پیشنهادی: پیش از اجرای command-not-found نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- command-not-found | tee command-not-found.path
type -a -- command-not-found 2> command-not-found.lookup.err
apropos -- command-not-found | head -n 20
man -f -- command-not-found 2>/dev/null || true
🧰

2. شل، پروژه و زنجیره‌کردن فرمان‌ها

13 ابزار و فرمان

bashاجرای شل و اسکریپت

014مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXbash [OPTIONS] [SCRIPT]
زیرفرمان / گزینهکاربرد
-nبررسی syntax
-xردیابی اجرا
-cاجرای رشته
set -euo pipefailحالت سخت
bash script.sh
bash -n script.sh
bash -x script.sh

روش پیشنهادی: پیش از اجرای bash نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bash | tee bash.path
type -a -- bash 2> bash.lookup.err
apropos -- bash | head -n 20
man -f -- bash 2>/dev/null || true

zshشل تعاملی پیش‌فرض Kali

015مقدماتیپایه

نصب: پیش‌فرض Kali

SYNTAXzsh [OPTIONS]
زیرفرمان / گزینهکاربرد
-nبررسی
-xردیابی
-cاجرای فرمان
zsh
zsh -n script.zsh
exec zsh

روش پیشنهادی: پیش از اجرای zsh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- zsh | tee zsh.path
type -a -- zsh 2> zsh.lookup.err
apropos -- zsh | head -n 20
man -f -- zsh 2>/dev/null || true

tmuxجلسه‌های پایدار ترمینال

016مقدماتیپایه

نصب: sudo apt install tmux

SYNTAXtmux SUBCOMMAND
زیرفرمان / گزینهکاربرد
newنشست جدید
attachاتصال
lsفهرست
kill-sessionحذف
capture-paneخروجی
tmux new -s audit
tmux ls
tmux attach -t audit
tmux capture-pane -p > pane.txt

روش پیشنهادی: پیش از اجرای tmux نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tmux | tee tmux.path
type -a -- tmux 2> tmux.lookup.err
apropos -- tmux | head -n 20
man -f -- tmux 2>/dev/null || true

screenجایگزین کلاسیک tmux

017مقدماتیپایه

نصب: sudo apt install screen

SYNTAXscreen [OPTIONS]
زیرفرمان / گزینهکاربرد
-Sنام نشست
-lsفهرست
-rاتصال
-dmپس‌زمینه
screen -S audit
screen -ls
screen -r audit

روش پیشنهادی: پیش از اجرای screen نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- screen | tee screen.path
type -a -- screen 2> screen.lookup.err
apropos -- screen | head -n 20
man -f -- screen 2>/dev/null || true

scriptضبط نشست ترمینال

018مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXscript [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-aافزودن
-qساکت
-cفرمان
-tزمان‌بندی
script -a notes/terminal.log
script -q -c 'nmap -sV TARGET' scan.typescript
exit

روش پیشنهادی: پیش از اجرای script نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- script | tee script.path
type -a -- script 2> script.lookup.err
apropos -- script | head -n 20
man -f -- script 2>/dev/null || true

teeنمایش و ذخیره هم‌زمان

019مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXCOMMAND | tee [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-aافزودن
-iنادیده‌گرفتن وقفه
nmap -sV TARGET | tee recon/nmap.txt
printf '%s\n' host1 host2 | tee targets.txt

روش پیشنهادی: پیش از اجرای tee نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tee | tee tee.path
type -a -- tee 2> tee.lookup.err
apropos -- tee | head -n 20
man -f -- tee 2>/dev/null || true

xargsتبدیل ورودی به آرگومان

020مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXINPUT | xargs [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-nتعداد آرگومان
-Pموازی
-0NUL
-Iجای‌گذار
cat hosts.txt | xargs -n1 host
printf '%s\0' *.log | xargs -0 sha256sum

روش پیشنهادی: پیش از اجرای xargs نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- xargs | tee xargs.path
type -a -- xargs 2> xargs.lookup.err
apropos -- xargs | head -n 20
man -f -- xargs 2>/dev/null || true

parallelاجرای کنترل‌شده موازی

021مقدماتیپایه

نصب: sudo apt install parallel

SYNTAXparallel [OPTIONS] COMMAND ::: ITEMS
زیرفرمان / گزینهکاربرد
-jتعداد job
::::فایل ورودی
--dry-runپیش‌نمایش
--resultsخروجی
parallel -j 4 'dig +short {}' :::: domains.txt
parallel --dry-run echo {} ::: a b

روش پیشنهادی: پیش از اجرای parallel نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- parallel | tee parallel.path
type -a -- parallel 2> parallel.lookup.err
apropos -- parallel | head -n 20
man -f -- parallel 2>/dev/null || true

jqپردازش JSON

022مقدماتیپایه

نصب: sudo apt install jq

SYNTAXjq [OPTIONS] FILTER [FILE]
زیرفرمان / گزینهکاربرد
-rمتن خام
-sslurp
-cفشرده
--argمتغیر
jq '.[] | .name' results.json
curl -s URL | jq -r '.[].id'

روش پیشنهادی: پیش از اجرای jq نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- jq | tee jq.path
type -a -- jq 2> jq.lookup.err
apropos -- jq | head -n 20
man -f -- jq 2>/dev/null || true

grepفیلتر متن و خروجی ابزارها

023مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXgrep [OPTIONS] PATTERN [FILE]
زیرفرمان / گزینهکاربرد
-Rبازگشتی
-nشماره خط
-iبی‌تفاوت به بزرگی
-Eregex توسعه‌یافته
-PPCRE
grep -Rni 'password' notes/
grep -E 'open|filtered' scan.nmap
grep -oP '\d+(?=/tcp)' scan.txt

روش پیشنهادی: پیش از اجرای grep نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- grep | tee grep.path
type -a -- grep 2> grep.lookup.err
apropos -- grep | head -n 20
man -f -- grep 2>/dev/null || true

sedویرایش جریان متن

024مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXsed [OPTIONS] SCRIPT [FILE]
زیرفرمان / گزینهکاربرد
-nچاپ انتخابی
-Eregex توسعه‌یافته
-iویرایش فایل
s///جایگزینی
sed -n '1,20p' scan.txt
sed 's/[[:space:]]*$//' hosts.txt
sed -E 's#https?://##' urls.txt

روش پیشنهادی: پیش از اجرای sed نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sed | tee sed.path
type -a -- sed 2> sed.lookup.err
apropos -- sed | head -n 20
man -f -- sed 2>/dev/null || true

awkاستخراج ستون و گزارش سریع

025مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXawk 'PROGRAM' FILE
زیرفرمان / گزینهکاربرد
-Fجداکننده
BEGINپیش از ورودی
NRشماره رکورد
NFتعداد فیلد
awk '/open/{print $1,$3}' scan.gnmap
awk -F, 'NR>1{print $2}' findings.csv

روش پیشنهادی: پیش از اجرای awk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- awk | tee awk.path
type -a -- awk 2> awk.lookup.err
apropos -- awk | head -n 20
man -f -- awk 2>/dev/null || true

findیافتن فایل‌های پروژه

026مقدماتیپایه

نصب: پیش‌فرض سیستم

SYNTAXfind PATH [TESTS] [ACTIONS]
زیرفرمان / گزینهکاربرد
-typeنوع
-nameنام
-sizeاندازه
-mtimeزمان
-execاجرای فرمان
find evidence -type f -exec sha256sum {} +
find . -name '*.pcap' -size +10M
find . -mtime -1 -print

روش پیشنهادی: پیش از اجرای find نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- find | tee find.path
type -a -- find 2> find.lookup.err
apropos -- find | head -n 20
man -f -- find 2>/dev/null || true
🔎

3. OSINT و شناسایی غیرفعال

13 ابزار و فرمان

whoisاطلاعات ثبت دامنه و IP

027مقدماتیغیرفعال

نصب: sudo apt install whois

SYNTAXwhois NAME
زیرفرمان / گزینهکاربرد
-hسرور مشخص
NAMEدامنه یا IP
whois example.com
whois 203.0.113.10

روش پیشنهادی: پیش از اجرای whois نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- whois | tee whois.path
type -a -- whois 2> whois.lookup.err
apropos -- whois | head -n 20
man -f -- whois 2>/dev/null || true

theHarvesterگردآوری منابع عمومی

028مقدماتیغیرفعال

نصب: sudo apt install theharvester

SYNTAXtheHarvester -d DOMAIN [OPTIONS]
زیرفرمان / گزینهکاربرد
-dدامنه
-bمنبع
-lحد
-fخروجی
theHarvester -d example.com -b crtsh,bing -l 200 -f harvest
theHarvester -d example.com -b all -l 100

روش پیشنهادی: پیش از اجرای theHarvester نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- theHarvester | tee theHarvester.path
type -a -- theHarvester 2> theHarvester.lookup.err
apropos -- theHarvester | head -n 20
man -f -- theHarvester 2>/dev/null || true

recon-ngچارچوب ماژولار OSINT

029مقدماتیغیرفعال

نصب: sudo apt install recon-ng

SYNTAXrecon-ng
زیرفرمان / گزینهکاربرد
marketplaceمدیریت ماژول
modules loadبارگذاری
optionsتنظیم
runاجرا
showنمایش
recon-ng
marketplace search domains-
marketplace install MODULE
modules load MODULE
options set SOURCE example.com
run

روش پیشنهادی: پیش از اجرای recon-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- recon-ng | tee recon-ng.path
type -a -- recon-ng 2> recon-ng.lookup.err
apropos -- recon-ng | head -n 20
man -f -- recon-ng 2>/dev/null || true

spiderfootهمبستگی خودکار OSINT

030مقدماتیغیرفعال

نصب: sudo apt install spiderfoot

SYNTAXspiderfoot -l ADDRESS:PORT
زیرفرمان / گزینهکاربرد
-lرابط وب
-sهدف
-mماژول
-oقالب خروجی
spiderfoot -l 127.0.0.1:5001
spiderfoot -s example.com -o json > spiderfoot.json

روش پیشنهادی: پیش از اجرای spiderfoot نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- spiderfoot | tee spiderfoot.path
type -a -- spiderfoot 2> spiderfoot.lookup.err
apropos -- spiderfoot | head -n 20
man -f -- spiderfoot 2>/dev/null || true

maltegoتحلیل گرافی روابط

031مقدماتیغیرفعال

نصب: sudo apt install maltego

SYNTAXmaltego
زیرفرمان / گزینهکاربرد
Transformsگردآوری
Machinesگردش‌کار
Entitiesموجودیت‌ها
Graphروابط
maltego

روش پیشنهادی: پیش از اجرای maltego نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- maltego | tee maltego.path
type -a -- maltego 2> maltego.lookup.err
apropos -- maltego | head -n 20
man -f -- maltego 2>/dev/null || true

sherlockبررسی نام کاربری در سرویس‌ها

032مقدماتیغیرفعال

نصب: sudo apt install sherlock

SYNTAXsherlock USERNAME [OPTIONS]
زیرفرمان / گزینهکاربرد
--print-foundفقط یافته
--csvخروجی
--timeoutمهلت
sherlock example_user --print-found --csv
sherlock example_user --timeout 10

روش پیشنهادی: پیش از اجرای sherlock نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sherlock | tee sherlock.path
type -a -- sherlock 2> sherlock.lookup.err
apropos -- sherlock | head -n 20
man -f -- sherlock 2>/dev/null || true

metagoofilجست‌وجوی متادیتای اسناد عمومی

033مقدماتیغیرفعال

نصب: sudo apt install metagoofil

SYNTAXmetagoofil -d DOMAIN [OPTIONS]
زیرفرمان / گزینهکاربرد
-dدامنه
-tنوع فایل
-lحد جست‌وجو
-nتعداد دانلود
-oپوشه
metagoofil -d example.com -t pdf,docx -l 50 -n 10 -o docs

روش پیشنهادی: پیش از اجرای metagoofil نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- metagoofil | tee metagoofil.path
type -a -- metagoofil 2> metagoofil.lookup.err
apropos -- metagoofil | head -n 20
man -f -- metagoofil 2>/dev/null || true

exiftoolخواندن و پاک‌سازی متادیتا

034مقدماتیغیرفعال

نصب: sudo apt install libimage-exiftool-perl

SYNTAXexiftool [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-aتگ تکراری
-uناشناخته
-g1گروه‌بندی
-all=پاک‌سازی
exiftool -a -u -g1 document.pdf
cp photo.jpg clean.jpg && exiftool -all= -overwrite_original clean.jpg

روش پیشنهادی: پیش از اجرای exiftool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- exiftool | tee exiftool.path
type -a -- exiftool 2> exiftool.lookup.err
apropos -- exiftool | head -n 20
man -f -- exiftool 2>/dev/null || true

googlerجست‌وجوی متنی وب

035مقدماتیغیرفعال

نصب: sudo apt install googler

SYNTAXgoogler [OPTIONS] QUERY
زیرفرمان / گزینهکاربرد
-n/--countتعداد
--jsonJSON
-xURL کامل
googler --count 10 'site:example.com filetype:pdf'
googler -n 5 'example organization'

روش پیشنهادی: پیش از اجرای googler نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- googler | tee googler.path
type -a -- googler 2> googler.lookup.err
apropos -- googler | head -n 20
man -f -- googler 2>/dev/null || true

socialscanبررسی در دسترس‌بودن شناسه عمومی

036مقدماتیغیرفعال

نصب: pipx install socialscan

SYNTAXsocialscan [OPTIONS] IDENTIFIER
زیرفرمان / گزینهکاربرد
--platformsسرویس‌ها
--jsonخروجی
--available-onlyفقط آزاد
socialscan example_user --platforms github reddit
socialscan test@example.com --json results.json

روش پیشنهادی: پیش از اجرای socialscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- socialscan | tee socialscan.path
type -a -- socialscan 2> socialscan.lookup.err
apropos -- socialscan | head -n 20
man -f -- socialscan 2>/dev/null || true

holeheبررسی اتصال ایمیل به سرویس‌ها

037مقدماتیغیرفعال

نصب: pipx install holehe

SYNTAXholehe EMAIL [OPTIONS]
زیرفرمان / گزینهکاربرد
--only-usedفقط استفاده‌شده
--csvخروجی
--no-colorبدون رنگ
holehe test@example.com --only-used
holehe test@example.com --csv

روش پیشنهادی: پیش از اجرای holehe نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- holehe | tee holehe.path
type -a -- holehe 2> holehe.lookup.err
apropos -- holehe | head -n 20
man -f -- holehe 2>/dev/null || true

waybackurlsURLهای تاریخی منابع عمومی

038مقدماتیغیرفعال

نصب: go install github.com/tomnomnom/waybackurls@latest

SYNTAXwaybackurls < domains.txt
زیرفرمان / گزینهکاربرد
stdinدامنه
stdoutURL تاریخی
printf '%s\n' example.com | waybackurls | sort -u > wayback.txt

روش پیشنهادی: پیش از اجرای waybackurls نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- waybackurls | tee waybackurls.path
type -a -- waybackurls 2> waybackurls.lookup.err
apropos -- waybackurls | head -n 20
man -f -- waybackurls 2>/dev/null || true

gauگردآوری URL از آرشیوهای عمومی

039مقدماتیغیرفعال

نصب: go install github.com/lc/gau/v2/cmd/gau@latest

SYNTAXgau [OPTIONS] DOMAIN
زیرفرمان / گزینهکاربرد
--subsزیردامنه‌ها
--providersمنابع
--jsonخروجی
--blacklistپسوندها
gau --subs --providers wayback,commoncrawl example.com > gau.txt
gau --json example.com > gau.json

روش پیشنهادی: پیش از اجرای gau نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gau | tee gau.path
type -a -- gau 2> gau.lookup.err
apropos -- gau | head -n 20
man -f -- gau 2>/dev/null || true
🛰️

4. کشف شبکه، پورت و سرویس

13 ابزار و فرمان

nmapاسکن و تشخیص سرویس

040مقدماتیفعال

نصب: sudo apt install nmap

SYNTAXnmap [SCAN] [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-snکشف
-p-همه پورت‌ها
-sVنسخه
-sCNSE پیش‌فرض
-Oسیستم‌عامل
-oAهمه خروجی‌ها
nmap -sn 192.0.2.0/24 -oA discovery
sudo nmap -p- --min-rate 1000 TARGET -oA allports
nmap -sV -sC -p 22,80,443 TARGET -oA services

روش پیشنهادی: پیش از اجرای nmap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- nmap | tee nmap.path
type -a -- nmap 2> nmap.lookup.err
apropos -- nmap | head -n 20
man -f -- nmap 2>/dev/null || true

masscanکشف سریع پورت در بازه مجاز

041مقدماتیفعال

نصب: sudo apt install masscan

SYNTAXmasscan RANGE -p PORTS [OPTIONS]
زیرفرمان / گزینهکاربرد
-pپورت
--rateنرخ
-eرابط
--router-macروتر
-oJJSON
sudo masscan 192.0.2.0/24 -p80,443 --rate 500 -oJ masscan.json
# سپس تأیید با nmap
nmap -sV -p80,443 TARGET

روش پیشنهادی: پیش از اجرای masscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- masscan | tee masscan.path
type -a -- masscan 2> masscan.lookup.err
apropos -- masscan | head -n 20
man -f -- masscan 2>/dev/null || true

rustscanکشف پورت و تحویل به nmap

042مقدماتیفعال

نصب: sudo apt install rustscan

SYNTAXrustscan -a TARGET [OPTIONS] -- [NMAP]
زیرفرمان / گزینهکاربرد
-aهدف
-rبازه
-bbatch
--ulimitحد فایل
--گزینه nmap
rustscan -a TARGET -r 1-65535 -- -sV -sC
rustscan -a targets.txt -b 1000

روش پیشنهادی: پیش از اجرای rustscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rustscan | tee rustscan.path
type -a -- rustscan 2> rustscan.lookup.err
apropos -- rustscan | head -n 20
man -f -- rustscan 2>/dev/null || true

arp-scanکشف لایه دوم محلی

043مقدماتیفعال

نصب: sudo apt install arp-scan

SYNTAXarp-scan [OPTIONS] RANGE
زیرفرمان / گزینهکاربرد
--localnetشبکه محلی
-Iرابط
-llocalnet
--retryتکرار
sudo arp-scan --localnet
sudo arp-scan -I eth0 192.0.2.0/24

روش پیشنهادی: پیش از اجرای arp-scan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- arp-scan | tee arp-scan.path
type -a -- arp-scan 2> arp-scan.lookup.err
apropos -- arp-scan | head -n 20
man -f -- arp-scan 2>/dev/null || true

netdiscoverکشف ARP ساده

044مقدماتیفعال

نصب: sudo apt install netdiscover

SYNTAXnetdiscover [OPTIONS]
زیرفرمان / گزینهکاربرد
-rرنج
-iرابط
-ppassive
-Pچاپ و خروج
sudo netdiscover -r 192.0.2.0/24 -i eth0 -P

روش پیشنهادی: پیش از اجرای netdiscover نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- netdiscover | tee netdiscover.path
type -a -- netdiscover 2> netdiscover.lookup.err
apropos -- netdiscover | head -n 20
man -f -- netdiscover 2>/dev/null || true

fpingping چند هدف

045مقدماتیفعال

نصب: sudo apt install fping

SYNTAXfping [OPTIONS] TARGETS
زیرفرمان / گزینهکاربرد
-aزنده
-gتولید بازه
-fفایل
-cتعداد
-ttimeout
fping -a -g 192.0.2.0/24 2>/dev/null
fping -f hosts.txt -c 3

روش پیشنهادی: پیش از اجرای fping نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- fping | tee fping.path
type -a -- fping 2> fping.lookup.err
apropos -- fping | head -n 20
man -f -- fping 2>/dev/null || true

hping3ساخت بسته و آزمون فایروال مجاز

046مقدماتیفعال

نصب: sudo apt install hping3

SYNTAXhping3 [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-SSYN
--udpUDP
-pپورت
-cتعداد
-iفاصله
sudo hping3 -S -p 443 -c 3 TARGET
sudo hping3 --udp -p 53 -c 3 TARGET

روش پیشنهادی: پیش از اجرای hping3 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hping3 | tee hping3.path
type -a -- hping3 2> hping3.lookup.err
apropos -- hping3 | head -n 20
man -f -- hping3 2>/dev/null || true

unicornscanاسکن ناهمگام شبکه

047مقدماتیفعال

نصب: sudo apt install unicornscan

SYNTAXunicornscan [OPTIONS] TARGET:PORTS
زیرفرمان / گزینهکاربرد
-mTTCP
-mUUDP
-Iفوری
-vجزئیات
-rنرخ
sudo unicornscan -Iv TARGET:1-1000
sudo unicornscan -mU TARGET:53

روش پیشنهادی: پیش از اجرای unicornscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- unicornscan | tee unicornscan.path
type -a -- unicornscan 2> unicornscan.lookup.err
apropos -- unicornscan | head -n 20
man -f -- unicornscan 2>/dev/null || true

netcatاتصال و آزمون TCP/UDP

048مقدماتیفعال

نصب: sudo apt install netcat-openbsd

SYNTAXnc [OPTIONS] HOST PORT
زیرفرمان / گزینهکاربرد
-zبدون داده
-vجزئیات
-lگوش‌دادن
-uUDP
-wtimeout
nc -vz TARGET 1-1024
nc -v TARGET 80
printf 'HEAD / HTTP/1.0\r\n\r\n' | nc TARGET 80

روش پیشنهادی: پیش از اجرای netcat نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- netcat | tee netcat.path
type -a -- netcat 2> netcat.lookup.err
apropos -- netcat | head -n 20
man -f -- netcat 2>/dev/null || true

socatپل انعطاف‌پذیر جریان‌ها

049مقدماتیفعال

نصب: sudo apt install socat

SYNTAXsocat [OPTIONS] ADDRESS ADDRESS
زیرفرمان / گزینهکاربرد
TCPاتصال
TCP-LISTENشنود
forkچند اتصال
reuseaddrاستفاده مجدد
-dدیباگ
socat - TCP:TARGET:80
socat TCP-LISTEN:8080,reuseaddr,fork TCP:127.0.0.1:8000

روش پیشنهادی: پیش از اجرای socat نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- socat | tee socat.path
type -a -- socat 2> socat.lookup.err
apropos -- socat | head -n 20
man -f -- socat 2>/dev/null || true

tracerouteدیدن مسیر شبکه

050مقدماتیفعال

نصب: sudo apt install traceroute

SYNTAXtraceroute [OPTIONS] HOST
زیرفرمان / گزینهکاربرد
-nعددی
-TTCP
-UUDP
-pپورت
-mحد hop
traceroute -n TARGET
traceroute -T -p 443 TARGET

روش پیشنهادی: پیش از اجرای traceroute نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- traceroute | tee traceroute.path
type -a -- traceroute 2> traceroute.lookup.err
apropos -- traceroute | head -n 20
man -f -- traceroute 2>/dev/null || true

mtrping و traceroute پیوسته

051مقدماتیفعال

نصب: sudo apt install mtr-tiny

SYNTAXmtr [OPTIONS] HOST
زیرفرمان / گزینهکاربرد
-rگزارش
-wعریض
-zAS
-cتعداد
-TTCP
-Pپورت
mtr -rwzc 20 TARGET
mtr -T -P 443 TARGET

روش پیشنهادی: پیش از اجرای mtr نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mtr | tee mtr.path
type -a -- mtr 2> mtr.lookup.err
apropos -- mtr | head -n 20
man -f -- mtr 2>/dev/null || true

p0fاثر انگشت غیرفعال سیستم‌عامل

052مقدماتیفعال

نصب: sudo apt install p0f

SYNTAXp0f [OPTIONS]
زیرفرمان / گزینهکاربرد
-iرابط
-oلاگ
-rpcap
-ppromiscuous
sudo p0f -i eth0 -o p0f.log
sudo p0f -r capture.pcap

روش پیشنهادی: پیش از اجرای p0f نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- p0f | tee p0f.path
type -a -- p0f 2> p0f.lookup.err
apropos -- p0f | head -n 20
man -f -- p0f 2>/dev/null || true
🧭

5. DNS، SMB، SNMP و سرویس‌ها

13 ابزار و فرمان

digپرس‌وجوی دقیق DNS

053مقدماتیفعال

نصب: sudo apt install dnsutils

SYNTAXdig [@SERVER] NAME [TYPE]
زیرفرمان / گزینهکاربرد
+shortخلاصه
+traceردیابی
-xPTR
@SERVERسرور
dig +short A example.com
dig @SERVER example.com ANY
dig +trace example.com

روش پیشنهادی: پیش از اجرای dig نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dig | tee dig.path
type -a -- dig 2> dig.lookup.err
apropos -- dig | head -n 20
man -f -- dig 2>/dev/null || true

hostپرس‌وجوی سریع DNS

054مقدماتیفعال

نصب: sudo apt install dnsutils

SYNTAXhost [OPTIONS] NAME [SERVER]
زیرفرمان / گزینهکاربرد
-tنوع
-aهمه
-lفهرست zone
-vجزئیات
host -t MX example.com
host 192.0.2.10

روش پیشنهادی: پیش از اجرای host نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- host | tee host.path
type -a -- host 2> host.lookup.err
apropos -- host | head -n 20
man -f -- host 2>/dev/null || true

dnsreconشناسایی رکوردهای DNS

055مقدماتیفعال

نصب: sudo apt install dnsrecon

SYNTAXdnsrecon -d DOMAIN [OPTIONS]
زیرفرمان / گزینهکاربرد
-dدامنه
-tنوع
-Dواژه‌نامه
-jJSON
-nnameserver
dnsrecon -d example.com -t std -j dns.json
dnsrecon -d example.com -t brt -D names.txt

روش پیشنهادی: پیش از اجرای dnsrecon نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dnsrecon | tee dnsrecon.path
type -a -- dnsrecon 2> dnsrecon.lookup.err
apropos -- dnsrecon | head -n 20
man -f -- dnsrecon 2>/dev/null || true

dnsenumenumeration دامنه

056مقدماتیفعال

نصب: sudo apt install dnsenum

SYNTAXdnsenum [OPTIONS] DOMAIN
زیرفرمان / گزینهکاربرد
--enumآزمون‌های استاندارد
-fواژه‌نامه
-oXML
dnsenum --enum example.com -o dnsenum.xml
dnsenum -f names.txt example.com

روش پیشنهادی: پیش از اجرای dnsenum نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dnsenum | tee dnsenum.path
type -a -- dnsenum 2> dnsenum.lookup.err
apropos -- dnsenum | head -n 20
man -f -- dnsenum 2>/dev/null || true

amassنقشه دارایی و زیردامنه

057مقدماتیفعال

نصب: sudo apt install amass

SYNTAXamass enum [OPTIONS]
زیرفرمان / گزینهکاربرد
enumenumeration
-passiveغیرفعال
-dدامنه
-oخروجی
-srcمنبع
-ipIP
amass enum -passive -d example.com -o amass.txt
amass enum -d example.com -src -ip

روش پیشنهادی: پیش از اجرای amass نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- amass | tee amass.path
type -a -- amass 2> amass.lookup.err
apropos -- amass | head -n 20
man -f -- amass 2>/dev/null || true

subfinderزیردامنه غیرفعال

058مقدماتیفعال

نصب: sudo apt install subfinder

SYNTAXsubfinder [OPTIONS]
زیرفرمان / گزینهکاربرد
-dدامنه
-dLفهرست
-allهمه منابع
-silentفقط یافته
-oJJSON
subfinder -d example.com -silent -o subs.txt
subfinder -dL domains.txt -all -json -oJ subs.json

روش پیشنهادی: پیش از اجرای subfinder نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- subfinder | tee subfinder.path
type -a -- subfinder 2> subfinder.lookup.err
apropos -- subfinder | head -n 20
man -f -- subfinder 2>/dev/null || true

smbclientاتصال و فهرست SMB

059مقدماتیفعال

نصب: sudo apt install smbclient

SYNTAXsmbclient [OPTIONS] //HOST/SHARE
زیرفرمان / گزینهکاربرد
-Lshares
-Nبدون رمز
-Uکاربر
-cفرمان
-mنسخه پروتکل
smbclient -L //TARGET -N
smbclient //TARGET/share -U 'user%pass'
smbclient //TARGET/share -N -c 'ls'

روش پیشنهادی: پیش از اجرای smbclient نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- smbclient | tee smbclient.path
type -a -- smbclient 2> smbclient.lookup.err
apropos -- smbclient | head -n 20
man -f -- smbclient 2>/dev/null || true

enum4linux-ngشمارش SMB/Windows

060مقدماتیفعال

نصب: sudo apt install enum4linux-ng

SYNTAXenum4linux-ng [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-Aهمه
-Sshares
-Uکاربران
-Gگروه‌ها
-oAخروجی
enum4linux-ng -A TARGET -oA enum
enum4linux-ng -S -U -G TARGET

روش پیشنهادی: پیش از اجرای enum4linux-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- enum4linux-ng | tee enum4linux-ng.path
type -a -- enum4linux-ng 2> enum4linux-ng.lookup.err
apropos -- enum4linux-ng | head -n 20
man -f -- enum4linux-ng 2>/dev/null || true

rpcclientپرس‌وجوی MS-RPC

061مقدماتیفعال

نصب: sudo apt install smbclient

SYNTAXrpcclient [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-Uکاربر
-Nبدون رمز
-cفرمان
enumdomusersکاربران
queryuserجزئیات
rpcclient -U '' -N TARGET -c 'srvinfo'
rpcclient -U user TARGET -c 'enumdomusers'

روش پیشنهادی: پیش از اجرای rpcclient نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rpcclient | tee rpcclient.path
type -a -- rpcclient 2> rpcclient.lookup.err
apropos -- rpcclient | head -n 20
man -f -- rpcclient 2>/dev/null || true

snmpwalkپیمایش SNMP مجاز

062مقدماتیفعال

نصب: sudo apt install snmp

SYNTAXsnmpwalk [OPTIONS] AGENT OID
زیرفرمان / گزینهکاربرد
-vنسخه
-ccommunity
-OnOID عددی
-OaASCII
snmpwalk -v2c -c COMMUNITY TARGET 1.3.6.1.2.1.1
snmpget -v2c -c COMMUNITY TARGET sysName.0

روش پیشنهادی: پیش از اجرای snmpwalk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- snmpwalk | tee snmpwalk.path
type -a -- snmpwalk 2> snmpwalk.lookup.err
apropos -- snmpwalk | head -n 20
man -f -- snmpwalk 2>/dev/null || true

onesixtyoneکشف community در لابراتوار

063مقدماتیفعال

نصب: sudo apt install onesixtyone

SYNTAXonesixtyone [OPTIONS] HOSTS COMMUNITIES
زیرفرمان / گزینهکاربرد
-cفهرست community
-iفهرست میزبان
-oخروجی
-wwait
onesixtyone -c communities.txt -i hosts.txt -o snmp.txt

روش پیشنهادی: پیش از اجرای onesixtyone نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- onesixtyone | tee onesixtyone.path
type -a -- onesixtyone 2> onesixtyone.lookup.err
apropos -- onesixtyone | head -n 20
man -f -- onesixtyone 2>/dev/null || true

ldapsearchپرس‌وجوی LDAP

064مقدماتیفعال

نصب: sudo apt install ldap-utils

SYNTAXldapsearch [OPTIONS] FILTER [ATTRS]
زیرفرمان / گزینهکاربرد
-xsimple
-HURI
-bbase DN
-sscope
-Dbind DN
-Wرمز
ldapsearch -x -H ldap://TARGET -s base namingContexts
ldapsearch -x -H ldap://TARGET -b 'dc=example,dc=test' '(objectClass=person)' cn

روش پیشنهادی: پیش از اجرای ldapsearch نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ldapsearch | tee ldapsearch.path
type -a -- ldapsearch 2> ldapsearch.lookup.err
apropos -- ldapsearch | head -n 20
man -f -- ldapsearch 2>/dev/null || true

openssl-s_clientبررسی TLS و گواهی

065مقدماتیفعال

نصب: پیش‌فرض سیستم

SYNTAXopenssl s_client [OPTIONS]
زیرفرمان / گزینهکاربرد
-connectمقصد
-servernameSNI
-showcertsزنجیره
-tls1_2نسخه
openssl s_client -connect TARGET:443 -servername example.test </dev/null
openssl s_client -connect TARGET:443 -showcerts </dev/null

روش پیشنهادی: پیش از اجرای openssl-s_client نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- openssl-s_client | tee openssl-s_client.path
type -a -- openssl-s_client 2> openssl-s_client.lookup.err
apropos -- openssl-s_client | head -n 20
man -f -- openssl-s_client 2>/dev/null || true
🌐

6. کشف و ارزیابی برنامه وب

13 ابزار و فرمان

curlساخت و ثبت درخواست HTTP

066مقدماتیفعال

نصب: پیش‌فرض سیستم

SYNTAXcurl [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-iهدر پاسخ
-sSساکت با خطا
-kلابراتوار TLS
-Dذخیره هدر
-oخروجی
-xپروکسی
curl -isk https://TARGET/
curl -sS -D headers.txt -o body.html https://TARGET/
curl -x http://127.0.0.1:8080 http://TARGET/

روش پیشنهادی: پیش از اجرای curl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- curl | tee curl.path
type -a -- curl 2> curl.lookup.err
apropos -- curl | head -n 20
man -f -- curl 2>/dev/null || true

wgetدانلود و mirror کنترل‌شده

067مقدماتیفعال

نصب: پیش‌فرض سیستم

SYNTAXwget [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-Oفایل
--mirrorآینه
--no-parentعدم صعود
--limit-rateنرخ
wget -O page.html http://TARGET/
wget --mirror --no-parent --convert-links http://TARGET/docs/

روش پیشنهادی: پیش از اجرای wget نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wget | tee wget.path
type -a -- wget 2> wget.lookup.err
apropos -- wget | head -n 20
man -f -- wget 2>/dev/null || true

httpxاعتبارسنجی سرویس‌های HTTP

068مقدماتیفعال

نصب: sudo apt install httpx-toolkit

SYNTAXhttpx [OPTIONS]
زیرفرمان / گزینهکاربرد
-lورودی
-titleعنوان
-status-codeکد
-tech-detectفناوری
-jsonJSON
httpx -l hosts.txt -title -status-code -tech-detect -o httpx.txt
httpx -l urls.txt -json -o httpx.json

روش پیشنهادی: پیش از اجرای httpx نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- httpx | tee httpx.path
type -a -- httpx 2> httpx.lookup.err
apropos -- httpx | head -n 20
man -f -- httpx 2>/dev/null || true

whatwebاثر انگشت فناوری وب

069مقدماتیفعال

نصب: sudo apt install whatweb

SYNTAXwhatweb [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-aسطح aggressiveness
-iفایل
--log-jsonJSON
--proxyپروکسی
whatweb -a 1 http://TARGET
whatweb -i urls.txt --log-json whatweb.json

روش پیشنهادی: پیش از اجرای whatweb نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- whatweb | tee whatweb.path
type -a -- whatweb 2> whatweb.lookup.err
apropos -- whatweb | head -n 20
man -f -- whatweb 2>/dev/null || true

wafw00fشناسایی WAF

070مقدماتیفعال

نصب: sudo apt install wafw00f

SYNTAXwafw00f [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-aهمه WAFها
-oخروجی
-pپروکسی
-vجزئیات
wafw00f https://TARGET -a -o waf.json

روش پیشنهادی: پیش از اجرای wafw00f نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wafw00f | tee wafw00f.path
type -a -- wafw00f 2> wafw00f.lookup.err
apropos -- wafw00f | head -n 20
man -f -- wafw00f 2>/dev/null || true

gobusterکشف مسیر، DNS و vhost

071مقدماتیفعال

نصب: sudo apt install gobuster

SYNTAXgobuster MODE [OPTIONS]
زیرفرمان / گزینهکاربرد
dirمسیر
dnsزیردامنه
vhostمیزبان مجازی
-uURL
-wواژه‌نامه
-xپسوند
gobuster dir -u http://TARGET -w words.txt -x php,html -o dirs.txt
gobuster dns -d example.test -w subs.txt
gobuster vhost -u http://TARGET -w subs.txt --append-domain

روش پیشنهادی: پیش از اجرای gobuster نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gobuster | tee gobuster.path
type -a -- gobuster 2> gobuster.lookup.err
apropos -- gobuster | head -n 20
man -f -- gobuster 2>/dev/null || true

ffuffuzzing سریع نقاط ورودی

072مقدماتیفعال

نصب: sudo apt install ffuf

SYNTAXffuf [OPTIONS] -u URL/FUZZ
زیرفرمان / گزینهکاربرد
-uURL
-wواژه‌نامه
-rateنرخ
-mcکد
-fcحذف کد
-fsحذف اندازه
-ofقالب
ffuf -u http://TARGET/FUZZ -w words.txt -rate 20 -of json -o ffuf.json
ffuf -u http://TARGET/ -H 'Host: FUZZ.example.test' -w subs.txt -fs 1234

روش پیشنهادی: پیش از اجرای ffuf نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ffuf | tee ffuf.path
type -a -- ffuf 2> ffuf.lookup.err
apropos -- ffuf | head -n 20
man -f -- ffuf 2>/dev/null || true

feroxbusterکشف بازگشتی محتوا

073مقدماتیفعال

نصب: sudo apt install feroxbuster

SYNTAXferoxbuster [OPTIONS] -u URL
زیرفرمان / گزینهکاربرد
-uURL
-wواژه‌نامه
-xپسوند
-dعمق
-tthread
--rate-limitنرخ
feroxbuster -u http://TARGET -w words.txt -x php,txt -d 2 -o ferox.txt

روش پیشنهادی: پیش از اجرای feroxbuster نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- feroxbuster | tee feroxbuster.path
type -a -- feroxbuster 2> feroxbuster.lookup.err
apropos -- feroxbuster | head -n 20
man -f -- feroxbuster 2>/dev/null || true

dirsearchکشف مسیر با افزونه‌ها

074مقدماتیفعال

نصب: sudo apt install dirsearch

SYNTAXdirsearch [OPTIONS] -u URL
زیرفرمان / گزینهکاربرد
-uURL
-eپسوند
-wواژه‌نامه
-tthread
--formatقالب
-oخروجی
dirsearch -u http://TARGET -e php,html -w words.txt --format=json -o dirsearch.json

روش پیشنهادی: پیش از اجرای dirsearch نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dirsearch | tee dirsearch.path
type -a -- dirsearch 2> dirsearch.lookup.err
apropos -- dirsearch | head -n 20
man -f -- dirsearch 2>/dev/null || true

niktoبررسی پیکربندی وب‌سرور

075مقدماتیفعال

نصب: sudo apt install nikto

SYNTAXnikto -h URL [OPTIONS]
زیرفرمان / گزینهکاربرد
-hمیزبان
-oخروجی
-Formatقالب
-Tuningدسته تست
-sslHTTPS
nikto -h http://TARGET -o nikto.html -Format html
nikto -h https://TARGET -ssl -Tuning 123

روش پیشنهادی: پیش از اجرای nikto نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- nikto | tee nikto.path
type -a -- nikto 2> nikto.lookup.err
apropos -- nikto | head -n 20
man -f -- nikto 2>/dev/null || true

nucleiاسکن templateمحور کنترل‌شده

076مقدماتیفعال

نصب: sudo apt install nuclei

SYNTAXnuclei [OPTIONS]
زیرفرمان / گزینهکاربرد
-u/-lهدف
-severityشدت
-tagsدسته
-rlنرخ
-jsonlخروجی
nuclei -u https://TARGET -severity low,medium,high -rl 10 -jsonl -o nuclei.jsonl
nuclei -l urls.txt -tags misconfig,exposure -rl 10

روش پیشنهادی: پیش از اجرای nuclei نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- nuclei | tee nuclei.path
type -a -- nuclei 2> nuclei.lookup.err
apropos -- nuclei | head -n 20
man -f -- nuclei 2>/dev/null || true

wpscanارزیابی WordPress

077مقدماتیفعال

نصب: sudo apt install wpscan

SYNTAXwpscan --url URL [OPTIONS]
زیرفرمان / گزینهکاربرد
--urlهدف
--enumerateموارد
--plugins-detectionروش
--api-tokenتوکن
-oخروجی
wpscan --url http://TARGET/wp --enumerate ap,at,u --format json -o wpscan.json
wpscan --url http://TARGET/wp --plugins-detection passive

روش پیشنهادی: پیش از اجرای wpscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wpscan | tee wpscan.path
type -a -- wpscan 2> wpscan.lookup.err
apropos -- wpscan | head -n 20
man -f -- wpscan 2>/dev/null || true

burpsuiteپروکسی و بازپخش درخواست وب

078مقدماتیفعال

نصب: sudo apt install burpsuite

SYNTAXburpsuite
زیرفرمان / گزینهکاربرد
Proxyثبت
Repeaterبازپخش
Intruderآزمون ورودی
Decoderکدگذاری
Comparerمقایسه
burpsuite
# پروکسی مرورگر آزمایش: 127.0.0.1:8080
# Proxy → HTTP history → Repeater → ثبت درخواست/پاسخ

روش پیشنهادی: پیش از اجرای burpsuite نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- burpsuite | tee burpsuite.path
type -a -- burpsuite 2> burpsuite.lookup.err
apropos -- burpsuite | head -n 20
man -f -- burpsuite 2>/dev/null || true
🧪

7. اعتبارسنجی آسیب‌پذیری و فریم‌ورک‌ها

13 ابزار و فرمان

searchsploitجست‌وجوی محلی Exploit-DB

079مقدماتیفقط لابراتوار

نصب: sudo apt install exploitdb

SYNTAXsearchsploit [OPTIONS] TERM
زیرفرمان / گزینهکاربرد
--nmapورودی nmap
-xمشاهده
-mکپی
-wURL
-uبه‌روزرسانی
searchsploit 'Apache 2.4.49'
searchsploit --nmap scan.xml
searchsploit -x 50383
searchsploit -m 50383

روش پیشنهادی: پیش از اجرای searchsploit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- searchsploit | tee searchsploit.path
type -a -- searchsploit 2> searchsploit.lookup.err
apropos -- searchsploit | head -n 20
man -f -- searchsploit 2>/dev/null || true

msfconsoleکنسول Metasploit در لابراتوار

080مقدماتیفقط لابراتوار

نصب: sudo apt install metasploit-framework

SYNTAXmsfconsole [OPTIONS]
زیرفرمان / گزینهکاربرد
workspaceپروژه
db_importورودی
searchجست‌وجو
useانتخاب
infoجزئیات
show optionsگزینه‌ها
checkبررسی
sudo msfdb init
msfconsole -q
workspace -a lab
db_import scan.xml
search type:auxiliary name:http
info MODULE
use MODULE
show options
set RHOSTS TARGET
check

روش پیشنهادی: پیش از اجرای msfconsole نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- msfconsole | tee msfconsole.path
type -a -- msfconsole 2> msfconsole.lookup.err
apropos -- msfconsole | head -n 20
man -f -- msfconsole 2>/dev/null || true

msfdbمدیریت پایگاه داده Metasploit

081مقدماتیفقط لابراتوار

نصب: sudo apt install metasploit-framework

SYNTAXmsfdb SUBCOMMAND
زیرفرمان / گزینهکاربرد
initساخت
statusوضعیت
start/stopسرویس
reinitبازسازی
sudo msfdb init
msfdb status
msfdb reinit

روش پیشنهادی: پیش از اجرای msfdb نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- msfdb | tee msfdb.path
type -a -- msfdb 2> msfdb.lookup.err
apropos -- msfdb | head -n 20
man -f -- msfdb 2>/dev/null || true

msfvenomساخت payload فقط برای لابراتوار ایزوله

082مقدماتیفقط لابراتوار

نصب: sudo apt install metasploit-framework

SYNTAXmsfvenom [OPTIONS]
زیرفرمان / گزینهکاربرد
-lفهرست
-ppayload
-fقالب
-oخروجی
-eencoder
--platformپلتفرم
msfvenom -l payloads | less
msfvenom -p generic/custom PAYLOADFILE=sample.bin -f raw -o lab-output.bin

روش پیشنهادی: پیش از اجرای msfvenom نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- msfvenom | tee msfvenom.path
type -a -- msfvenom 2> msfvenom.lookup.err
apropos -- msfvenom | head -n 20
man -f -- msfvenom 2>/dev/null || true
⚠️ خروجی را فقط در VM ایزوله و مجاز اجرا کنید.

sqlmapاعتبارسنجی SQL injection مجاز

083مقدماتیفقط لابراتوار

نصب: sudo apt install sqlmap

SYNTAXsqlmap [OPTIONS]
زیرفرمان / گزینهکاربرد
-uURL
-rدرخواست
-pپارامتر
--dbsپایگاه‌ها
--levelپوشش
--riskریسک
--batchغیرتعاملی
sqlmap -r request.txt --batch --level=1 --risk=1 --flush-session
sqlmap -u 'http://TARGET/item?id=1' -p id --batch --dbs

روش پیشنهادی: پیش از اجرای sqlmap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sqlmap | tee sqlmap.path
type -a -- sqlmap 2> sqlmap.lookup.err
apropos -- sqlmap | head -n 20
man -f -- sqlmap 2>/dev/null || true

commixارزیابی command injection در لابراتوار

084مقدماتیفقط لابراتوار

نصب: sudo apt install commix

SYNTAXcommix [OPTIONS]
زیرفرمان / گزینهکاربرد
--urlهدف
-rدرخواست
--dataPOST
--cookieکوکی
--levelپوشش
--batchخودکار
commix --url='http://TARGET/page?name=test' --batch --level=1
commix -r request.txt --batch

روش پیشنهادی: پیش از اجرای commix نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- commix | tee commix.path
type -a -- commix 2> commix.lookup.err
apropos -- commix | head -n 20
man -f -- commix 2>/dev/null || true

xsserارزیابی XSS کنترل‌شده

085مقدماتیفقط لابراتوار

نصب: sudo apt install xsser

SYNTAXxsser [OPTIONS]
زیرفرمان / گزینهکاربرد
--urlهدف
-iفایل
--autoآزمون خودکار
--saveذخیره
xsser --url 'http://TARGET/search?q=XSS' --auto
xsser -i urls.txt --save

روش پیشنهادی: پیش از اجرای xsser نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- xsser | tee xsser.path
type -a -- xsser 2> xsser.lookup.err
apropos -- xsser | head -n 20
man -f -- xsser 2>/dev/null || true

davtestبررسی روش‌های WebDAV

086مقدماتیفقط لابراتوار

نصب: sudo apt install davtest

SYNTAXdavtest [OPTIONS] -url URL
زیرفرمان / گزینهکاربرد
-urlهدف
-authاعتبارنامه
-cleanupپاک‌سازی
-directoryمسیر
davtest -url http://TARGET/webdav/ -cleanup

روش پیشنهادی: پیش از اجرای davtest نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- davtest | tee davtest.path
type -a -- davtest 2> davtest.lookup.err
apropos -- davtest | head -n 20
man -f -- davtest 2>/dev/null || true

cadaverکلاینت WebDAV

087مقدماتیفقط لابراتوار

نصب: sudo apt install cadaver

SYNTAXcadaver URL
زیرفرمان / گزینهکاربرد
lsفهرست
getدریافت
putارسال آزمایشی
deleteپاک‌سازی
quitخروج
cadaver http://TARGET/webdav/
# ls, get FILE, put TESTFILE, delete TESTFILE, quit

روش پیشنهادی: پیش از اجرای cadaver نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cadaver | tee cadaver.path
type -a -- cadaver 2> cadaver.lookup.err
apropos -- cadaver | head -n 20
man -f -- cadaver 2>/dev/null || true

openvasمدیریت Greenbone/OpenVAS

088مقدماتیفقط لابراتوار

نصب: sudo apt install gvm

SYNTAXgvm-SUBCOMMAND
زیرفرمان / گزینهکاربرد
gvm-setupراه‌اندازی
gvm-check-setupبررسی
gvm-startشروع
gvm-stopتوقف
sudo gvm-setup
sudo gvm-check-setup
sudo gvm-start
# ساخت Target → Task → Scan → Report در رابط محلی

روش پیشنهادی: پیش از اجرای openvas نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- openvas | tee openvas.path
type -a -- openvas 2> openvas.lookup.err
apropos -- openvas | head -n 20
man -f -- openvas 2>/dev/null || true

lynisممیزی امنیتی میزبان خودتان

089مقدماتیفقط لابراتوار

نصب: sudo apt install lynis

SYNTAXlynis COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
audit systemممیزی
show detailsجزئیات
--quickغیرتعاملی
--report-fileگزارش
sudo lynis audit system --quick
lynis show details TEST-ID

روش پیشنهادی: پیش از اجرای lynis نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- lynis | tee lynis.path
type -a -- lynis 2> lynis.lookup.err
apropos -- lynis | head -n 20
man -f -- lynis 2>/dev/null || true

legionرابط گرافیکی enumeration

090مقدماتیفقط لابراتوار

نصب: sudo apt install legion

SYNTAXlegion
زیرفرمان / گزینهکاربرد
Hostsدارایی‌ها
Scanاسکن‌ها
Servicesسرویس‌ها
Scriptsوظایف
Notesیادداشت
legion

روش پیشنهادی: پیش از اجرای legion نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- legion | tee legion.path
type -a -- legion 2> legion.lookup.err
apropos -- legion | head -n 20
man -f -- legion 2>/dev/null || true

faradayفضای کاری همکاری تست امنیت

091مقدماتیفقط لابراتوار

نصب: sudo apt install faraday

SYNTAXfaraday-server
زیرفرمان / گزینهکاربرد
workspaceپروژه
importورودی
vulnerabilityیافته
reportگزارش
faraday-server
# ساخت workspace → واردکردن خروجی ابزار → بازبینی یافته → export

روش پیشنهادی: پیش از اجرای faraday نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- faraday | tee faraday.path
type -a -- faraday 2> faraday.lookup.err
apropos -- faraday | head -n 20
man -f -- faraday 2>/dev/null || true
🔐

8. ممیزی رمز، هش و احراز هویت

13 ابزار و فرمان

hashidتشخیص احتمالی نوع هش

092مقدماتیفقط لابراتوار

نصب: sudo apt install hashid

SYNTAXhashid [OPTIONS] HASH
زیرفرمان / گزینهکاربرد
-mمد hashcat
-jفرمت John
-eگسترش
FILEفهرست هش
hashid '$6$example'
hashid -m hashes.txt

روش پیشنهادی: پیش از اجرای hashid نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hashid | tee hashid.path
type -a -- hashid 2> hashid.lookup.err
apropos -- hashid | head -n 20
man -f -- hashid 2>/dev/null || true

name-that-hashتشخیص هش با جزئیات

093مقدماتیفقط لابراتوار

نصب: pipx install name-that-hash

SYNTAXnth [OPTIONS] HASH
زیرفرمان / گزینهکاربرد
-tمتن
-fفایل
-aهمه احتمالات
nth -t '5f4dcc3b5aa765d61d8327deb882cf99'
nth -f hashes.txt

روش پیشنهادی: پیش از اجرای name-that-hash نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- name-that-hash | tee name-that-hash.path
type -a -- name-that-hash 2> name-that-hash.lookup.err
apropos -- name-that-hash | head -n 20
man -f -- name-that-hash 2>/dev/null || true

johnممیزی آفلاین گذرواژه

094مقدماتیفقط لابراتوار

نصب: sudo apt install john

SYNTAXjohn [OPTIONS] HASHFILE
زیرفرمان / گزینهکاربرد
--wordlistواژه‌نامه
--formatنوع
--rulesقواعد
--showنمایش
--restoreادامه
john --wordlist=words.txt hashes.txt
john --format=raw-md5 hashes.txt
john --show hashes.txt

روش پیشنهادی: پیش از اجرای john نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- john | tee john.path
type -a -- john 2> john.lookup.err
apropos -- john | head -n 20
man -f -- john 2>/dev/null || true

hashcatممیزی هش با شتاب‌دهنده

095مقدماتیفقط لابراتوار

نصب: sudo apt install hashcat

SYNTAXhashcat [OPTIONS] HASHFILE WORDLIST
زیرفرمان / گزینهکاربرد
-mنوع هش
-aحالت حمله
--sessionنشست
--showنمایش
--restoreادامه
hashcat -m 0 -a 0 hashes.txt words.txt --session lab
hashcat -m 1000 hashes.txt words.txt --show
hashcat --example-hashes | less

روش پیشنهادی: پیش از اجرای hashcat نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hashcat | tee hashcat.path
type -a -- hashcat 2> hashcat.lookup.err
apropos -- hashcat | head -n 20
man -f -- hashcat 2>/dev/null || true

hydraآزمون احراز هویت روی حساب‌های آزمایشی

096مقدماتیفقط لابراتوار

نصب: sudo apt install hydra

SYNTAXhydra [OPTIONS] SERVICE://TARGET
زیرفرمان / گزینهکاربرد
-l/-Lکاربر/فایل
-p/-Pرمز/فایل
-tهم‌روندی
-oخروجی
-fتوقف با موفقیت
hydra -l testuser -P lab-passwords.txt ssh://TARGET -t 2 -o hydra.txt
hydra -L users.txt -p TestPass123 ftp://TARGET -t 2

روش پیشنهادی: پیش از اجرای hydra نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hydra | tee hydra.path
type -a -- hydra 2> hydra.lookup.err
apropos -- hydra | head -n 20
man -f -- hydra 2>/dev/null || true

medusaممیزی موازی login

097مقدماتیفقط لابراتوار

نصب: sudo apt install medusa

SYNTAXmedusa [OPTIONS]
زیرفرمان / گزینهکاربرد
-h/-Hمیزبان
-u/-Uکاربر
-p/-Pرمز
-Mماژول
-Tthread
-Oخروجی
medusa -h TARGET -u testuser -P lab-passwords.txt -M ssh -T 2 -O medusa.txt

روش پیشنهادی: پیش از اجرای medusa نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- medusa | tee medusa.path
type -a -- medusa 2> medusa.lookup.err
apropos -- medusa | head -n 20
man -f -- medusa 2>/dev/null || true

ncrackممیزی سرویس شبکه

098مقدماتیفقط لابراتوار

نصب: sudo apt install ncrack

SYNTAXncrack [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-pپورت
--userکاربر
-Pفهرست
-Tزمان‌بندی
-oNخروجی
ncrack -p 22 --user testuser -P lab-passwords.txt TARGET -T2 -oN ncrack.txt

روش پیشنهادی: پیش از اجرای ncrack نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ncrack | tee ncrack.path
type -a -- ncrack 2> ncrack.lookup.err
apropos -- ncrack | head -n 20
man -f -- ncrack 2>/dev/null || true

cewlساخت واژه‌نامه از محتوای مجاز

099مقدماتیفقط لابراتوار

نصب: sudo apt install cewl

SYNTAXcewl [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-dعمق
-mحد طول
-wخروجی
-eایمیل
--lowercaseحروف کوچک
cewl http://TARGET/docs -d 2 -m 6 -w words.txt
cewl http://TARGET -e --email_file emails.txt

روش پیشنهادی: پیش از اجرای cewl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cewl | tee cewl.path
type -a -- cewl 2> cewl.lookup.err
apropos -- cewl | head -n 20
man -f -- cewl 2>/dev/null || true

crunchتولید واژه‌نامه محدود

100مقدماتیفقط لابراتوار

نصب: sudo apt install crunch

SYNTAXcrunch MIN MAX [CHARSET] [OPTIONS]
زیرفرمان / گزینهکاربرد
-tالگو
-oخروجی
-sشروع
-eپایان
-pجایگشت
crunch 8 8 0123456789 -o pins.txt
crunch 6 8 -t lab@@@ -o words.txt

روش پیشنهادی: پیش از اجرای crunch نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- crunch | tee crunch.path
type -a -- crunch 2> crunch.lookup.err
apropos -- crunch | head -n 20
man -f -- crunch 2>/dev/null || true

rsmanglerتغییر و گسترش واژه‌ها

101مقدماتیفقط لابراتوار

نصب: sudo apt install rsmangler

SYNTAXrsmangler [OPTIONS] -f FILE
زیرفرمان / گزینهکاربرد
-fورودی
-oخروجی
-mحداقل
-xحداکثر
--yearsسال‌ها
rsmangler -f base.txt -o mangled.txt -m 6 -x 12

روش پیشنهادی: پیش از اجرای rsmangler نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rsmangler | tee rsmangler.path
type -a -- rsmangler 2> rsmangler.lookup.err
apropos -- rsmangler | head -n 20
man -f -- rsmangler 2>/dev/null || true

cuppواژه‌نامه سناریوی آزمایش

102مقدماتیفقط لابراتوار

نصب: sudo apt install cupp

SYNTAXcupp [OPTIONS]
زیرفرمان / گزینهکاربرد
-iتعاملی
-lفهرست واژه‌نامه‌ها
-aدانلود پیش‌فرض
cupp -i
cupp -l

روش پیشنهادی: پیش از اجرای cupp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cupp | tee cupp.path
type -a -- cupp 2> cupp.lookup.err
apropos -- cupp | head -n 20
man -f -- cupp 2>/dev/null || true

john-convertersاستخراج هش از فایل آزمایشی

103مقدماتیفقط لابراتوار

نصب: sudo apt install john

SYNTAXFORMAT2john FILE > HASH
زیرفرمان / گزینهکاربرد
zip2johnZIP
ssh2johnکلید SSH
keepass2johnKeePass
pdf2johnPDF
zip2john sample.zip > zip.hash
ssh2john test_key > ssh.hash
keepass2john lab.kdbx > keepass.hash

روش پیشنهادی: پیش از اجرای john-converters نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- john-converters | tee john-converters.path
type -a -- john-converters 2> john-converters.lookup.err
apropos -- john-converters | head -n 20
man -f -- john-converters 2>/dev/null || true

keepassxc-cliممیزی و مدیریت vault خودتان

104مقدماتیفقط لابراتوار

نصب: sudo apt install keepassxc

SYNTAXkeepassxc-cli COMMAND DATABASE
زیرفرمان / گزینهکاربرد
lsفهرست
showنمایش
analyzeتحلیل
exportخروجی
db-infoمشخصات
keepassxc-cli ls lab.kdbx
keepassxc-cli show lab.kdbx Entry
keepassxc-cli analyze lab.kdbx

روش پیشنهادی: پیش از اجرای keepassxc-cli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- keepassxc-cli | tee keepassxc-cli.path
type -a -- keepassxc-cli 2> keepassxc-cli.lookup.err
apropos -- keepassxc-cli | head -n 20
man -f -- keepassxc-cli 2>/dev/null || true
📡

9. شبکه بی‌سیم و بلوتوث آزمایشگاهی

13 ابزار و فرمان

iwوضعیت و تنظیم Wi-Fi

105مقدماتیفقط لابراتوار

نصب: sudo apt install iw

SYNTAXiw [OPTIONS] OBJECT COMMAND
زیرفرمان / گزینهکاربرد
devرابط
phyرادیو
linkاتصال
scanاسکن
infoقابلیت
iw dev
iw dev wlan0 link
iw phy phy0 info

روش پیشنهادی: پیش از اجرای iw نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- iw | tee iw.path
type -a -- iw 2> iw.lookup.err
apropos -- iw | head -n 20
man -f -- iw 2>/dev/null || true

rfkillکنترل مسدودسازی رادیو

106مقدماتیفقط لابراتوار

نصب: پیش‌فرض سیستم

SYNTAXrfkill COMMAND [TYPE]
زیرفرمان / گزینهکاربرد
listوضعیت
blockمسدود
unblockآزاد
wifi/bluetoothنوع
rfkill list
sudo rfkill unblock wifi

روش پیشنهادی: پیش از اجرای rfkill نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rfkill | tee rfkill.path
type -a -- rfkill 2> rfkill.lookup.err
apropos -- rfkill | head -n 20
man -f -- rfkill 2>/dev/null || true

airmon-ngمدیریت monitor mode در لابراتوار

107مقدماتیفقط لابراتوار

نصب: sudo apt install aircrack-ng

SYNTAXairmon-ng COMMAND INTERFACE
زیرفرمان / گزینهکاربرد
checkتداخل
startفعال‌سازی
stopتوقف
sudo airmon-ng check
sudo airmon-ng start wlan0
sudo airmon-ng stop wlan0mon

روش پیشنهادی: پیش از اجرای airmon-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- airmon-ng | tee airmon-ng.path
type -a -- airmon-ng 2> airmon-ng.lookup.err
apropos -- airmon-ng | head -n 20
man -f -- airmon-ng 2>/dev/null || true

airodump-ngثبت beacon و ترافیک Wi-Fi مجاز

108مقدماتیفقط لابراتوار

نصب: sudo apt install aircrack-ng

SYNTAXairodump-ng [OPTIONS] INTERFACE
زیرفرمان / گزینهکاربرد
-cکانال
--bssidAP
-wخروجی
--output-formatقالب
sudo airodump-ng wlan0mon
sudo airodump-ng -c 6 --bssid LAB_BSSID -w capture wlan0mon

روش پیشنهادی: پیش از اجرای airodump-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- airodump-ng | tee airodump-ng.path
type -a -- airodump-ng 2> airodump-ng.lookup.err
apropos -- airodump-ng | head -n 20
man -f -- airodump-ng 2>/dev/null || true

aireplay-ngتزریق بسته در AP آزمایشگاهی

109مقدماتیفقط لابراتوار

نصب: sudo apt install aircrack-ng

SYNTAXaireplay-ng MODE [OPTIONS] INTERFACE
زیرفرمان / گزینهکاربرد
--testآزمون تزریق
--deauthقطع کنترل‌شده
-aAP
-cclient
sudo aireplay-ng --test wlan0mon
sudo aireplay-ng --deauth 1 -a LAB_BSSID -c LAB_CLIENT wlan0mon

روش پیشنهادی: پیش از اجرای aireplay-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aireplay-ng | tee aireplay-ng.path
type -a -- aireplay-ng 2> aireplay-ng.lookup.err
apropos -- aireplay-ng | head -n 20
man -f -- aireplay-ng 2>/dev/null || true
⚠️ فقط روی AP و کلاینت متعلق به لابراتوار اجرا شود.

aircrack-ngبررسی قدرت گذرواژه capture خودتان

110مقدماتیفقط لابراتوار

نصب: sudo apt install aircrack-ng

SYNTAXaircrack-ng [OPTIONS] CAPTURE
زیرفرمان / گزینهکاربرد
-wواژه‌نامه
-bBSSID
-eESSID
-qساکت
aircrack-ng capture-01.cap
aircrack-ng -w lab-words.txt -b LAB_BSSID capture-01.cap

روش پیشنهادی: پیش از اجرای aircrack-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aircrack-ng | tee aircrack-ng.path
type -a -- aircrack-ng 2> aircrack-ng.lookup.err
apropos -- aircrack-ng | head -n 20
man -f -- aircrack-ng 2>/dev/null || true

airdecap-ngرمزگشایی capture با کلید مجاز

111مقدماتیفقط لابراتوار

نصب: sudo apt install aircrack-ng

SYNTAXairdecap-ng [OPTIONS] CAPTURE
زیرفرمان / گزینهکاربرد
-eESSID
-pگذرواژه
-bBSSID
-wکلید WEP
airdecap-ng -e LAB_SSID -p LAB_PASSWORD capture.cap

روش پیشنهادی: پیش از اجرای airdecap-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- airdecap-ng | tee airdecap-ng.path
type -a -- airdecap-ng 2> airdecap-ng.lookup.err
apropos -- airdecap-ng | head -n 20
man -f -- airdecap-ng 2>/dev/null || true

washکشف WPS در لابراتوار

112مقدماتیفقط لابراتوار

نصب: sudo apt install reaver

SYNTAXwash [OPTIONS]
زیرفرمان / گزینهکاربرد
-iرابط
-cکانال
-jJSON
-sاسکن فعال
sudo wash -i wlan0mon -j
sudo wash -i wlan0mon -c 6

روش پیشنهادی: پیش از اجرای wash نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wash | tee wash.path
type -a -- wash 2> wash.lookup.err
apropos -- wash | head -n 20
man -f -- wash 2>/dev/null || true

reaverممیزی WPS روی روتر آزمایشگاهی

113مقدماتیفقط لابراتوار

نصب: sudo apt install reaver

SYNTAXreaver [OPTIONS]
زیرفرمان / گزینهکاربرد
-iرابط
-bBSSID
-cکانال
-vvجزئیات
-K/--pixie-dustآزمون
sudo reaver -i wlan0mon -b LAB_BSSID -c 6 -vv --pixie-dust

روش پیشنهادی: پیش از اجرای reaver نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- reaver | tee reaver.path
type -a -- reaver 2> reaver.lookup.err
apropos -- reaver | head -n 20
man -f -- reaver 2>/dev/null || true

wifiteهماهنگ‌کننده ممیزی Wi-Fi

114مقدماتیفقط لابراتوار

نصب: sudo apt install wifite

SYNTAXwifite [OPTIONS]
زیرفرمان / گزینهکاربرد
--killتوقف تداخل
--dictواژه‌نامه
--mac-anonymizeناشناس‌سازی
--showbنمایش BSSID
sudo wifite --kill --dict lab-words.txt --mac-anonymize

روش پیشنهادی: پیش از اجرای wifite نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wifite | tee wifite.path
type -a -- wifite 2> wifite.lookup.err
apropos -- wifite | head -n 20
man -f -- wifite 2>/dev/null || true

bettercapچارچوب مشاهده شبکه محلی لابراتوار

115مقدماتیفقط لابراتوار

نصب: sudo apt install bettercap

SYNTAXbettercap [OPTIONS]
زیرفرمان / گزینهکاربرد
-ifaceرابط
-capletسناریو
helpراهنما
net.showدارایی‌ها
events.streamرویداد
sudo bettercap -iface eth0
net.probe on
net.show
events.stream on

روش پیشنهادی: پیش از اجرای bettercap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bettercap | tee bettercap.path
type -a -- bettercap 2> bettercap.lookup.err
apropos -- bettercap | head -n 20
man -f -- bettercap 2>/dev/null || true

bluetoothctlمدیریت Bluetooth

116مقدماتیفقط لابراتوار

نصب: sudo apt install bluez

SYNTAXbluetoothctl [COMMAND]
زیرفرمان / گزینهکاربرد
showآداپتور
scanاسکن
devicesدستگاه‌ها
infoجزئیات
pairجفت‌سازی
bluetoothctl show
bluetoothctl scan on
bluetoothctl devices
bluetoothctl info DEVICE

روش پیشنهادی: پیش از اجرای bluetoothctl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bluetoothctl | tee bluetoothctl.path
type -a -- bluetoothctl 2> bluetoothctl.lookup.err
apropos -- bluetoothctl | head -n 20
man -f -- bluetoothctl 2>/dev/null || true

btmgmtمدیریت سطح پایین Bluetooth

117مقدماتیفقط لابراتوار

نصب: sudo apt install bluez

SYNTAXbtmgmt [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
infoاطلاعات
findکشف
powerتوان
connectاتصال
pairجفت‌سازی
sudo btmgmt info
sudo btmgmt find
sudo btmgmt power on

روش پیشنهادی: پیش از اجرای btmgmt نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- btmgmt | tee btmgmt.path
type -a -- btmgmt 2> btmgmt.lookup.err
apropos -- btmgmt | head -n 20
man -f -- btmgmt 2>/dev/null || true
🦈

10. ثبت و تحلیل ترافیک

13 ابزار و فرمان

tcpdumpثبت بسته با فیلتر BPF

118مقدماتیکنترل‌شده

نصب: sudo apt install tcpdump

SYNTAXtcpdump [OPTIONS] [FILTER]
زیرفرمان / گزینهکاربرد
-iرابط
-nnبدون resolve
-s0کل بسته
-wنوشتن
-rخواندن
-cتعداد
sudo tcpdump -i eth0 -nn -s0 -w capture.pcap 'host TARGET'
tcpdump -r capture.pcap -nn 'tcp port 443'

روش پیشنهادی: پیش از اجرای tcpdump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tcpdump | tee tcpdump.path
type -a -- tcpdump 2> tcpdump.lookup.err
apropos -- tcpdump | head -n 20
man -f -- tcpdump 2>/dev/null || true

tsharkتحلیل خط فرمان Wireshark

119مقدماتیکنترل‌شده

نصب: sudo apt install tshark

SYNTAXtshark [OPTIONS]
زیرفرمان / گزینهکاربرد
-rخواندن
-iرابط
-Ydisplay filter
-fcapture filter
-Tقالب
-eفیلد
-zآمار
tshark -r capture.pcap -q -z conv,tcp
tshark -r capture.pcap -Y 'http.request' -T fields -e ip.src -e http.host -e http.request.uri

روش پیشنهادی: پیش از اجرای tshark نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tshark | tee tshark.path
type -a -- tshark 2> tshark.lookup.err
apropos -- tshark | head -n 20
man -f -- tshark 2>/dev/null || true

wiresharkتحلیل گرافیکی پروتکل

120مقدماتیکنترل‌شده

نصب: sudo apt install wireshark

SYNTAXwireshark [OPTIONS] [FILE]
زیرفرمان / گزینهکاربرد
-rفایل
-kشروع فوری
-iرابط
-Ydisplay filter
wireshark capture.pcap
wireshark -k -i eth0

روش پیشنهادی: پیش از اجرای wireshark نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wireshark | tee wireshark.path
type -a -- wireshark 2> wireshark.lookup.err
apropos -- wireshark | head -n 20
man -f -- wireshark 2>/dev/null || true

editcapبرش و تبدیل capture

121مقدماتیکنترل‌شده

نصب: sudo apt install wireshark-common

SYNTAXeditcap [OPTIONS] IN OUT
زیرفرمان / گزینهکاربرد
-cبسته در فایل
-Aشروع
-Bپایان
-Fقالب
-dحذف تکرار
editcap -c 10000 capture.pcap chunk.pcap
editcap -A '2026-10-01 10:00:00' -B '2026-10-01 10:10:00' in.pcap out.pcap

روش پیشنهادی: پیش از اجرای editcap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- editcap | tee editcap.path
type -a -- editcap 2> editcap.lookup.err
apropos -- editcap | head -n 20
man -f -- editcap 2>/dev/null || true

mergecapادغام captureها

122مقدماتیکنترل‌شده

نصب: sudo apt install wireshark-common

SYNTAXmergecap [OPTIONS] -w OUT INPUTS
زیرفرمان / گزینهکاربرد
-wخروجی
-aappend
-Fقالب
-Imerge IDB
mergecap -w merged.pcap part1.pcap part2.pcap
mergecap -a -w appended.pcap *.pcap

روش پیشنهادی: پیش از اجرای mergecap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mergecap | tee mergecap.path
type -a -- mergecap 2> mergecap.lookup.err
apropos -- mergecap | head -n 20
man -f -- mergecap 2>/dev/null || true

capinfosمشخصات capture

123مقدماتیکنترل‌شده

نصب: sudo apt install wireshark-common

SYNTAXcapinfos [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-Tجدول
-mجداکننده comma
-cتعداد
-aزمان شروع
-eپایان
capinfos capture.pcap
capinfos -Tm capture.pcap > capture.csv

روش پیشنهادی: پیش از اجرای capinfos نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- capinfos | tee capinfos.path
type -a -- capinfos 2> capinfos.lookup.err
apropos -- capinfos | head -n 20
man -f -- capinfos 2>/dev/null || true

ngrepgrep روی payload شبکه

124مقدماتیکنترل‌شده

نصب: sudo apt install ngrep

SYNTAXngrep [OPTIONS] PATTERN [FILTER]
زیرفرمان / گزینهکاربرد
-dرابط
-Ipcap
-Wنمایش
-qساکت
-xhex
sudo ngrep -d eth0 -W byline 'User-Agent' 'tcp port 80'
ngrep -I capture.pcap 'Host:'

روش پیشنهادی: پیش از اجرای ngrep نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ngrep | tee ngrep.path
type -a -- ngrep 2> ngrep.lookup.err
apropos -- ngrep | head -n 20
man -f -- ngrep 2>/dev/null || true

termsharkرابط TUI برای tshark

125مقدماتیکنترل‌شده

نصب: sudo apt install termshark

SYNTAXtermshark [OPTIONS] [FILE]
زیرفرمان / گزینهکاربرد
-rفایل
-iرابط
-Ydisplay filter
-fcapture filter
termshark -r capture.pcap
sudo termshark -i eth0

روش پیشنهادی: پیش از اجرای termshark نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- termshark | tee termshark.path
type -a -- termshark 2> termshark.lookup.err
apropos -- termshark | head -n 20
man -f -- termshark 2>/dev/null || true

zeekتبدیل ترافیک به لاگ ساختاریافته

126مقدماتیکنترل‌شده

نصب: sudo apt install zeek

SYNTAXzeek [OPTIONS] [SCRIPT]
زیرفرمان / گزینهکاربرد
-rpcap
-Cنادیده‌گرفتن checksum
-eکد
LogAscii::use_jsonT=JSON
mkdir zeek-out && cd zeek-out
zeek -r ../capture.pcap
zeek-cut id.orig_h id.resp_h service < conn.log

روش پیشنهادی: پیش از اجرای zeek نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- zeek | tee zeek.path
type -a -- zeek 2> zeek.lookup.err
apropos -- zeek | head -n 20
man -f -- zeek 2>/dev/null || true

suricataIDS روی pcap یا رابط لابراتوار

127مقدماتیکنترل‌شده

نصب: sudo apt install suricata

SYNTAXsuricata [OPTIONS]
زیرفرمان / گزینهکاربرد
-rpcap
-iرابط
-lپوشه لاگ
-Srule file
-Tآزمون پیکربندی
sudo suricata -r capture.pcap -l suricata-out
jq 'select(.event_type=="alert")' suricata-out/eve.json

روش پیشنهادی: پیش از اجرای suricata نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- suricata | tee suricata.path
type -a -- suricata 2> suricata.lookup.err
apropos -- suricata | head -n 20
man -f -- suricata 2>/dev/null || true

scapyساخت و تحلیل بسته با Python

128مقدماتیکنترل‌شده

نصب: sudo apt install python3-scapy

SYNTAXscapy
زیرفرمان / گزینهکاربرد
rdpcapخواندن
wrpcapنوشتن
sniffثبت
send/sendpارسال در لابراتوار
showجزئیات
scapy
>>> pkts = rdpcap('capture.pcap')
>>> pkts.summary()
>>> pkts[0].show()

روش پیشنهادی: پیش از اجرای scapy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- scapy | tee scapy.path
type -a -- scapy 2> scapy.lookup.err
apropos -- scapy | head -n 20
man -f -- scapy 2>/dev/null || true

tcpreplayبازپخش pcap در شبکه ایزوله

129مقدماتیکنترل‌شده

نصب: sudo apt install tcpreplay

SYNTAXtcpreplay [OPTIONS] PCAP
زیرفرمان / گزینهکاربرد
-i/--intf1رابط
--ppsنرخ
--mbpsپهنای‌باند
--loopتکرار
sudo tcpreplay --intf1=eth1 --pps=10 capture.pcap
tcpreplay-edit --enet-dmac=LAB_MAC -i eth1 capture.pcap

روش پیشنهادی: پیش از اجرای tcpreplay نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tcpreplay | tee tcpreplay.path
type -a -- tcpreplay 2> tcpreplay.lookup.err
apropos -- tcpreplay | head -n 20
man -f -- tcpreplay 2>/dev/null || true
⚠️ هرگز pcap ناشناس را روی شبکه واقعی بازپخش نکنید.

netsniff-ngثبت بسته با کارایی بالا

130مقدماتیکنترل‌شده

نصب: sudo apt install netsniff-ng

SYNTAXnetsniff-ng [OPTIONS]
زیرفرمان / گزینهکاربرد
--inورودی
--outخروجی
--filterفیلتر
--numتعداد
sudo netsniff-ng --in eth0 --out capture.pcap --filter 'host TARGET'
sudo netsniff-ng --in capture.pcap --out /dev/null

روش پیشنهادی: پیش از اجرای netsniff-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- netsniff-ng | tee netsniff-ng.path
type -a -- netsniff-ng 2> netsniff-ng.lookup.err
apropos -- netsniff-ng | head -n 20
man -f -- netsniff-ng 2>/dev/null || true
🔬

11. فارنزیک فایل، دیسک و حافظه

13 ابزار و فرمان

sha256sumهش و تمامیت شواهد

131میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXsha256sum [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-cبررسی
-bباینری
--tagقالب BSD
--ignore-missingنادیده‌گرفتن غایب
sha256sum evidence.img | tee evidence.img.sha256
sha256sum -c evidence.img.sha256

روش پیشنهادی: پیش از اجرای sha256sum نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sha256sum | tee sha256sum.path
type -a -- sha256sum 2> sha256sum.lookup.err
apropos -- sha256sum | head -n 20
man -f -- sha256sum 2>/dev/null || true

fileتشخیص نوع فایل

132میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXfile [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-kادامه تطبیق
-iMIME
-zداخل فایل فشرده
-Lدنبال‌کردن لینک
file suspicious.bin
file -k -i sample.dat
file -z archive.gz

روش پیشنهادی: پیش از اجرای file نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- file | tee file.path
type -a -- file 2> file.lookup.err
apropos -- file | head -n 20
man -f -- file 2>/dev/null || true

stringsاستخراج رشته از باینری

133میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXstrings [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-aهمه فایل
-nحد طول
-toffset
-eencoding
strings -a -n 8 suspicious.bin | less
strings -el memory.raw | grep -i password

روش پیشنهادی: پیش از اجرای strings نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- strings | tee strings.path
type -a -- strings 2> strings.lookup.err
apropos -- strings | head -n 20
man -f -- strings 2>/dev/null || true

xxdنمایش و بازسازی hex

134میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXxxd [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-lطول
-soffset
-gگروه
-rمعکوس
-pplain
xxd -l 256 suspicious.bin
xxd -s 0x100 -l 64 evidence.bin
xxd -r patch.hex restored.bin

روش پیشنهادی: پیش از اجرای xxd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- xxd | tee xxd.path
type -a -- xxd 2> xxd.lookup.err
apropos -- xxd | head -n 20
man -f -- xxd 2>/dev/null || true

binwalkشناسایی و استخراج firmware

135میانیتحلیل

نصب: sudo apt install binwalk

SYNTAXbinwalk [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-eاستخراج
-Mبازگشتی
-Eentropy
-Aopcode
-yامضای خاص
binwalk firmware.bin
binwalk -e firmware.bin
binwalk -Me firmware.bin

روش پیشنهادی: پیش از اجرای binwalk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- binwalk | tee binwalk.path
type -a -- binwalk 2> binwalk.lookup.err
apropos -- binwalk | head -n 20
man -f -- binwalk 2>/dev/null || true

foremostcarving فایل بر اساس header

136میانیتحلیل

نصب: sudo apt install foremost

SYNTAXforemost [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
-iورودی
-oخروجی
-tنوع
-qquick
-vجزئیات
foremost -i evidence.img -o foremost-out -t jpg,pdf,png

روش پیشنهادی: پیش از اجرای foremost نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- foremost | tee foremost.path
type -a -- foremost 2> foremost.lookup.err
apropos -- foremost | head -n 20
man -f -- foremost 2>/dev/null || true

scalpelfile carving قابل پیکربندی

137میانیتحلیل

نصب: sudo apt install scalpel

SYNTAXscalpel [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
-cپیکربندی
-oخروجی
-qquick
-vجزئیات
cp /etc/scalpel/scalpel.conf ./scalpel.conf
# نوع‌های لازم را فعال کنید
scalpel -c scalpel.conf -o scalpel-out evidence.img

روش پیشنهادی: پیش از اجرای scalpel نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- scalpel | tee scalpel.path
type -a -- scalpel 2> scalpel.lookup.err
apropos -- scalpel | head -n 20
man -f -- scalpel 2>/dev/null || true

bulk_extractorاستخراج artefact بدون filesystem

138میانیتحلیل

نصب: sudo apt install bulk-extractor

SYNTAXbulk_extractor [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
-oخروجی
-Eفعال‌سازی scanner
-xغیرفعال‌سازی
-jthread
-Rدایرکتوری
bulk_extractor -o bulk-out evidence.img
bulk_extractor -E email -E url -o selected evidence.img

روش پیشنهادی: پیش از اجرای bulk_extractor نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bulk_extractor | tee bulk_extractor.path
type -a -- bulk_extractor 2> bulk_extractor.lookup.err
apropos -- bulk_extractor | head -n 20
man -f -- bulk_extractor 2>/dev/null || true

sleuthkitتحلیل image فایل‌سیستم

139میانیتحلیل

نصب: sudo apt install sleuthkit

SYNTAXTSK_COMMAND [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
mmlsپارتیشن
fsstatفایل‌سیستم
flsفهرست
istatinode
icatاستخراج
mmls evidence.img
fsstat -o OFFSET evidence.img
fls -r -o OFFSET evidence.img > body.txt
icat -o OFFSET evidence.img INODE > recovered.bin

روش پیشنهادی: پیش از اجرای sleuthkit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sleuthkit | tee sleuthkit.path
type -a -- sleuthkit 2> sleuthkit.lookup.err
apropos -- sleuthkit | head -n 20
man -f -- sleuthkit 2>/dev/null || true

autopsyرابط گرافیکی Sleuth Kit

140میانیتحلیل

نصب: sudo apt install autopsy

SYNTAXautopsy
زیرفرمان / گزینهکاربرد
New Caseپرونده
Add Imageافزودن image
File Analysisفایل‌ها
Keyword Searchجست‌وجو
Timelineزمان‌بندی
autopsy
# New Case → Add Host → Add Image → Analyze

روش پیشنهادی: پیش از اجرای autopsy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- autopsy | tee autopsy.path
type -a -- autopsy 2> autopsy.lookup.err
apropos -- autopsy | head -n 20
man -f -- autopsy 2>/dev/null || true

volatility3تحلیل حافظه

141میانیتحلیل

نصب: sudo apt install volatility3

SYNTAXvol -f MEMORY PLUGIN
زیرفرمان / گزینهکاربرد
windows.infoمشخصات
pslistپردازش
netscanشبکه
cmdlineفرمان
filescanفایل
malfindناحیه مشکوک
vol -f memory.raw windows.info
vol -f memory.raw windows.pslist
vol -f memory.raw windows.netscan
vol -f memory.raw windows.cmdline

روش پیشنهادی: پیش از اجرای volatility3 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- volatility3 | tee volatility3.path
type -a -- volatility3 2> volatility3.lookup.err
apropos -- volatility3 | head -n 20
man -f -- volatility3 2>/dev/null || true

yaraتطبیق rule روی فایل‌ها

142میانیتحلیل

نصب: sudo apt install yara

SYNTAXyara [OPTIONS] RULES TARGET
زیرفرمان / گزینهکاربرد
-rبازگشتی
-sرشته تطبیق
-mmetadata
-ttag
-dمتغیر
yara -r rules/index.yar samples/
yara -s -m rule.yar suspicious.bin

روش پیشنهادی: پیش از اجرای yara نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- yara | tee yara.path
type -a -- yara 2> yara.lookup.err
apropos -- yara | head -n 20
man -f -- yara 2>/dev/null || true

photorecبازیابی فایل از image

143میانیتحلیل

نصب: sudo apt install testdisk

SYNTAXphotorec [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
/logثبت
/dخروجی
File Optنوع‌ها
Searchبازیابی
photorec /log /d recovered evidence.img
# File Opt → انتخاب نوع → Search

روش پیشنهادی: پیش از اجرای photorec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- photorec | tee photorec.path
type -a -- photorec 2> photorec.lookup.err
apropos -- photorec | head -n 20
man -f -- photorec 2>/dev/null || true
🧬

12. مهندسی معکوس، تحلیل و گزارش

13 ابزار و فرمان

readelfبررسی ساختار ELF

144میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXreadelf [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-hheader
-Ssection
-ssymbol
-ddynamic
-lprogram headers
-Wعریض
readelf -hW sample.elf
readelf -SW sample.elf
readelf -sW sample.elf

روش پیشنهادی: پیش از اجرای readelf نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- readelf | tee readelf.path
type -a -- readelf 2> readelf.lookup.err
apropos -- readelf | head -n 20
man -f -- readelf 2>/dev/null || true

objdumpdisassembly و sectionهای باینری

145میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXobjdump [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-ddisassemble
-xهمه header
-sمحتوا
-jsection
-M intelsyntax
objdump -d -M intel sample.elf | less
objdump -x sample.elf
objdump -s -j .rodata sample.elf

روش پیشنهادی: پیش از اجرای objdump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- objdump | tee objdump.path
type -a -- objdump 2> objdump.lookup.err
apropos -- objdump | head -n 20
man -f -- objdump 2>/dev/null || true

nmفهرست symbolها

146میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXnm [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-Cdemangle
-Ddynamic
--defined-onlyتعریف‌شده
-nمرتب با آدرس
nm -C sample.elf | less
nm -D --defined-only library.so

روش پیشنهادی: پیش از اجرای nm نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- nm | tee nm.path
type -a -- nm 2> nm.lookup.err
apropos -- nm | head -n 20
man -f -- nm 2>/dev/null || true

lddوابستگی shared library

147میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXldd [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-vجزئیات
-uوابستگی بلااستفاده
-rrelocation
ldd ./sample.elf
objdump -p sample.elf | grep NEEDED

روش پیشنهادی: پیش از اجرای ldd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ldd | tee ldd.path
type -a -- ldd 2> ldd.lookup.err
apropos -- ldd | head -n 20
man -f -- ldd 2>/dev/null || true
⚠️ ldd را روی باینری ناشناس اجرا نکنید؛ از objdump -p استفاده کنید.

straceردیابی system call در sandbox

148میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXstrace [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-fفرزندها
-oخروجی
-eفیلتر
-pPID
-cخلاصه
strace -f -o strace.log ./lab-sample
strace -e trace=file,network -f ./lab-sample

روش پیشنهادی: پیش از اجرای strace نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- strace | tee strace.path
type -a -- strace 2> strace.lookup.err
apropos -- strace | head -n 20
man -f -- strace 2>/dev/null || true

ltraceردیابی فراخوانی کتابخانه

149میانیتحلیل

نصب: sudo apt install ltrace

SYNTAXltrace [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-fفرزند
-oخروجی
-eفیلتر
-pPID
-cخلاصه
ltrace -f -o ltrace.log ./lab-sample
ltrace -e malloc+free ./lab-sample

روش پیشنهادی: پیش از اجرای ltrace نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ltrace | tee ltrace.path
type -a -- ltrace 2> ltrace.lookup.err
apropos -- ltrace | head -n 20
man -f -- ltrace 2>/dev/null || true

gdbدیباگر باینری در VM ایزوله

150میانیتحلیل

نصب: sudo apt install gdb

SYNTAXgdb [OPTIONS] PROGRAM
زیرفرمان / گزینهکاربرد
breakنقطه توقف
runاجرا
next/stepحرکت
infoاطلاعات
xحافظه
backtraceپشته
gdb -q ./lab-sample
set disassembly-flavor intel
info functions
break main
run
backtrace

روش پیشنهادی: پیش از اجرای gdb نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gdb | tee gdb.path
type -a -- gdb 2> gdb.lookup.err
apropos -- gdb | head -n 20
man -f -- gdb 2>/dev/null || true

radare2تحلیل ایستا/پویا

151میانیتحلیل

نصب: sudo apt install radare2

SYNTAXr2 [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-Aتحلیل
aaaتحلیل کامل
aflتوابع
pdfdisassembly
izرشته‌ها
sseek
r2 -A sample.elf
aaa
afl
s main
pdf
iz
q

روش پیشنهادی: پیش از اجرای radare2 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- radare2 | tee radare2.path
type -a -- radare2 2> radare2.lookup.err
apropos -- radare2 | head -n 20
man -f -- radare2 2>/dev/null || true

rizinفریم‌ورک تحلیل باینری

152میانیتحلیل

نصب: sudo apt install rizin

SYNTAXrz-bin/rz-asm/rizin [OPTIONS]
زیرفرمان / گزینهکاربرد
rz-bin -Iمشخصات
-zzرشته‌ها
rizin -Aتحلیل
aaaتحلیل
aflتوابع
rz-bin -I sample.elf
rz-bin -zz sample.elf
rizin -A sample.elf

روش پیشنهادی: پیش از اجرای rizin نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rizin | tee rizin.path
type -a -- rizin 2> rizin.lookup.err
apropos -- rizin | head -n 20
man -f -- rizin 2>/dev/null || true

ghidraتحلیل و decompile گرافیکی

153میانیتحلیل

نصب: sudo apt install ghidra

SYNTAXghidra
زیرفرمان / گزینهکاربرد
Importورود فایل
Analyzeتحلیل
Decompilerشبه‌کد
Function Graphگراف
Script Managerاسکریپت
ghidra
# New Project → Import File → Analyze → Symbol Tree → Decompiler

روش پیشنهادی: پیش از اجرای ghidra نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ghidra | tee ghidra.path
type -a -- ghidra 2> ghidra.lookup.err
apropos -- ghidra | head -n 20
man -f -- ghidra 2>/dev/null || true

checksecبررسی hardening باینری

154میانیتحلیل

نصب: sudo apt install checksec

SYNTAXchecksec [OPTIONS]
زیرفرمان / گزینهکاربرد
--fileفایل
--dirپوشه
--procپردازش
--outputقالب
checksec --file=sample.elf
checksec --dir=./samples --output=json

روش پیشنهادی: پیش از اجرای checksec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- checksec | tee checksec.path
type -a -- checksec 2> checksec.lookup.err
apropos -- checksec | head -n 20
man -f -- checksec 2>/dev/null || true

pandocتبدیل گزارش Markdown

155میانیتحلیل

نصب: sudo apt install pandoc

SYNTAXpandoc [OPTIONS] INPUT
زیرفرمان / گزینهکاربرد
-oخروجی
--standaloneسند کامل
--tocفهرست
--templateقالب
--metadataمتادیتا
pandoc report.md -o report.html --standalone
pandoc report.md -o report.docx --toc

روش پیشنهادی: پیش از اجرای pandoc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pandoc | tee pandoc.path
type -a -- pandoc 2> pandoc.lookup.err
apropos -- pandoc | head -n 20
man -f -- pandoc 2>/dev/null || true

gitنسخه‌بندی یادداشت و گزارش بدون راز

156میانیتحلیل

نصب: sudo apt install git

SYNTAXgit SUBCOMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
initساخت
statusوضعیت
addstage
commitثبت
diffتفاوت
logتاریخچه
restoreبازگردانی
git init
git status
git add report.md evidence/*.sha256
git commit -m 'docs: add validated finding'
git log --oneline

روش پیشنهادی: پیش از اجرای git نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git | tee git.path
type -a -- git 2> git.lookup.err
apropos -- git | head -n 20
man -f -- git 2>/dev/null || true
⚠️ رمز، token، داده شخصی و loot را commit نکنید.
🏢

13. Active Directory و محیط Windows

13 ابزار و فرمان

netexecشمارش و ممیزی چندپروتکلی AD

157میانیفقط لابراتوار

نصب: sudo apt install netexec

SYNTAXnxc PROTOCOL TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد
smb/ldap/winrmپروتکل
-uکاربر
-pرمز
--sharesاشتراک‌ها
--usersکاربران
-Mماژول
nxc smb TARGET -u testuser -p 'TestPass!' --shares
nxc ldap DC -u testuser -p 'TestPass!' --users
nxc winrm TARGET -u testuser -p 'TestPass!'

روش پیشنهادی: پیش از اجرای netexec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- netexec | tee netexec.path
type -a -- netexec 2> netexec.lookup.err
apropos -- netexec | head -n 20
man -f -- netexec 2>/dev/null || true
⚠️ فقط با حساب آزمایشی و مجوز صریح دامنه اجرا شود.

impacket-smbclientکلاینت SMB مجموعه Impacket

158میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-smbclient [OPTIONS] DOMAIN/USER:PASSWORD@TARGET
زیرفرمان / گزینهکاربرد
sharesفهرست
useانتخاب
lsفایل‌ها
getدریافت
putارسال آزمایشی
impacket-smbclient 'LAB/testuser:TestPass!@TARGET'
# shares, use SHARE, ls, get FILE, exit

روش پیشنهادی: پیش از اجرای impacket-smbclient نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-smbclient | tee impacket-smbclient.path
type -a -- impacket-smbclient 2> impacket-smbclient.lookup.err
apropos -- impacket-smbclient | head -n 20
man -f -- impacket-smbclient 2>/dev/null || true

impacket-lookupsidبررسی SID و حساب‌های دامنه

159میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-lookupsid [OPTIONS] IDENTITY@TARGET
زیرفرمان / گزینهکاربرد
-no-passبدون prompt
-hashesهش مجاز
-domain-sidsSID دامنه
IDENTITYهویت
impacket-lookupsid 'LAB/testuser:TestPass!@DC'
impacket-lookupsid -no-pass 'LAB/testuser@DC'

روش پیشنهادی: پیش از اجرای impacket-lookupsid نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-lookupsid | tee impacket-lookupsid.path
type -a -- impacket-lookupsid 2> impacket-lookupsid.lookup.err
apropos -- impacket-lookupsid | head -n 20
man -f -- impacket-lookupsid 2>/dev/null || true

impacket-rpcdumpفهرست endpointهای RPC

160میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-rpcdump [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-portپورت
-debugدیباگ
-hashesاعتبارنامه هش مجاز
impacket-rpcdump TARGET
impacket-rpcdump -port 135 TARGET | tee rpc.txt

روش پیشنهادی: پیش از اجرای impacket-rpcdump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-rpcdump | tee impacket-rpcdump.path
type -a -- impacket-rpcdump 2> impacket-rpcdump.lookup.err
apropos -- impacket-rpcdump | head -n 20
man -f -- impacket-rpcdump 2>/dev/null || true

impacket-secretsdumpبازبینی credential store در لابراتوار

161میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-secretsdump [OPTIONS] IDENTITY@TARGET
زیرفرمان / گزینهکاربرد
-samفایل SAM
-systemSYSTEM
-securitySECURITY
LOCALتحلیل آفلاین
impacket-secretsdump -sam SAM -system SYSTEM LOCAL
impacket-secretsdump -security SECURITY -system SYSTEM LOCAL

روش پیشنهادی: پیش از اجرای impacket-secretsdump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-secretsdump | tee impacket-secretsdump.path
type -a -- impacket-secretsdump 2> impacket-secretsdump.lookup.err
apropos -- impacket-secretsdump | head -n 20
man -f -- impacket-secretsdump 2>/dev/null || true
⚠️ نمونه‌ها فقط برای hiveهای کپی‌شده از VM آزمایشگاهی هستند.

bloodhound-pythonگردآوری روابط AD برای BloodHound

162میانیفقط لابراتوار

نصب: sudo apt install bloodhound.py

SYNTAXbloodhound-python [OPTIONS]
زیرفرمان / گزینهکاربرد
-uکاربر
-pرمز
-dدامنه
-nsDNS
-cروش گردآوری
--zipبسته خروجی
bloodhound-python -u testuser -p 'TestPass!' -d lab.test -ns DC_IP -c DCOnly
bloodhound-python -u testuser -p 'TestPass!' -d lab.test -c All --zip

روش پیشنهادی: پیش از اجرای bloodhound-python نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bloodhound-python | tee bloodhound-python.path
type -a -- bloodhound-python 2> bloodhound-python.lookup.err
apropos -- bloodhound-python | head -n 20
man -f -- bloodhound-python 2>/dev/null || true

bloodhoundتحلیل گراف مجوزهای AD

163میانیفقط لابراتوار

نصب: sudo apt install bloodhound

SYNTAXbloodhound
زیرفرمان / گزینهکاربرد
Upload Dataورود
Database Infoوضعیت
Queriesپرس‌وجو
Shortest Pathsمسیرها
Clear Databaseپاک‌سازی
bloodhound
# ورود داده ZIP → بررسی nodeها → Queries → ثبت مسیر و راهکار

روش پیشنهادی: پیش از اجرای bloodhound نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bloodhound | tee bloodhound.path
type -a -- bloodhound 2> bloodhound.lookup.err
apropos -- bloodhound | head -n 20
man -f -- bloodhound 2>/dev/null || true

ldapdomaindumpخروجی ساختاریافته LDAP دامنه

164میانیفقط لابراتوار

نصب: sudo apt install ldapdomaindump

SYNTAXldapdomaindump [OPTIONS] HOST
زیرفرمان / گزینهکاربرد
-uکاربر
-pرمز
-oخروجی
--no-jsonبدون JSON
--no-grepبدون grep output
ldapdomaindump -u 'LAB\testuser' -p 'TestPass!' -o ldap-out DC
ldapdomaindump --no-json --no-grep DC

روش پیشنهادی: پیش از اجرای ldapdomaindump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ldapdomaindump | tee ldapdomaindump.path
type -a -- ldapdomaindump 2> ldapdomaindump.lookup.err
apropos -- ldapdomaindump | head -n 20
man -f -- ldapdomaindump 2>/dev/null || true

adidnsdumpاستخراج رکوردهای AD-integrated DNS

165میانیفقط لابراتوار

نصب: pipx install adidnsdump

SYNTAXadidnsdump [OPTIONS] DC
زیرفرمان / گزینهکاربرد
-uکاربر
-pرمز
--dns-tcpTCP
--print-zoneszoneها
--zonezone مشخص
adidnsdump -u 'LAB\testuser' -p 'TestPass!' --dns-tcp DC
adidnsdump --print-zones -u 'LAB\testuser' -p 'TestPass!' DC

روش پیشنهادی: پیش از اجرای adidnsdump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- adidnsdump | tee adidnsdump.path
type -a -- adidnsdump 2> adidnsdump.lookup.err
apropos -- adidnsdump | head -n 20
man -f -- adidnsdump 2>/dev/null || true

certipy-adممیزی Active Directory Certificate Services

166میانیفقط لابراتوار

نصب: pipx install certipy-ad

SYNTAXcertipy SUBCOMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
findکشف
accountحساب
templatetemplate
caمرجع
-dc-ipکنترلر
-stdoutخروجی
certipy find -u 'testuser@lab.test' -p 'TestPass!' -dc-ip DC_IP -stdout
certipy find -u 'testuser@lab.test' -p 'TestPass!' -dc-ip DC_IP -json

روش پیشنهادی: پیش از اجرای certipy-ad نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- certipy-ad | tee certipy-ad.path
type -a -- certipy-ad 2> certipy-ad.lookup.err
apropos -- certipy-ad | head -n 20
man -f -- certipy-ad 2>/dev/null || true

smbmapنقشه دسترسی SMB

167میانیفقط لابراتوار

نصب: sudo apt install smbmap

SYNTAXsmbmap [OPTIONS]
زیرفرمان / گزینهکاربرد
-Hمیزبان
-uکاربر
-pرمز
-rبازگشتی
--depthعمق
--csvخروجی
smbmap -H TARGET -u testuser -p 'TestPass!'
smbmap -H TARGET -u testuser -p 'TestPass!' -r SHARE --depth 2

روش پیشنهادی: پیش از اجرای smbmap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- smbmap | tee smbmap.path
type -a -- smbmap 2> smbmap.lookup.err
apropos -- smbmap | head -n 20
man -f -- smbmap 2>/dev/null || true

responderمشاهده نام‌حل‌کنی در شبکه لابراتوار

168میانیفقط لابراتوار

نصب: sudo apt install responder

SYNTAXresponder [OPTIONS]
زیرفرمان / گزینهکاربرد
-Iرابط
-Aتحلیل بدون پاسخ
-wWPAD
-ffingerprint
-vجزئیات
sudo responder -I eth1 -A
sudo responder -I eth1 -A -w -f

روش پیشنهادی: پیش از اجرای responder نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- responder | tee responder.path
type -a -- responder 2> responder.lookup.err
apropos -- responder | head -n 20
man -f -- responder 2>/dev/null || true
⚠️ برای جلوگیری از اختلال، ابتدا فقط از Analysis Mode استفاده کنید.

evil-winrmمدیریت WinRM در لابراتوار Windows

169میانیفقط لابراتوار

نصب: sudo apt install evil-winrm

SYNTAXevil-winrm [OPTIONS]
زیرفرمان / گزینهکاربرد
-iمیزبان
-uکاربر
-pرمز
-STLS
-Pپورت
menuراهنما
upload/downloadانتقال
evil-winrm -i TARGET -u testuser -p 'TestPass!'
# menu, upload FILE, download FILE, exit

روش پیشنهادی: پیش از اجرای evil-winrm نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- evil-winrm | tee evil-winrm.path
type -a -- evil-winrm 2> evil-winrm.lookup.err
apropos -- evil-winrm | head -n 20
man -f -- evil-winrm 2>/dev/null || true
☁️

14. Cloud، کانتینر و Kubernetes

13 ابزار و فرمان

awsمدیریت و ممیزی AWS CLI

170میانیکنترل‌شده

نصب: sudo apt install awscli

SYNTAXaws SERVICE OPERATION [OPTIONS]
زیرفرمان / گزینهکاربرد
configureپیکربندی
stsهویت
s3apiذخیره‌سازی
iamهویت و دسترسی
--profileپروفایل
--outputقالب
aws sts get-caller-identity
aws configure list
aws s3api list-buckets --output json
aws iam list-account-aliases

روش پیشنهادی: پیش از اجرای aws نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aws | tee aws.path
type -a -- aws 2> aws.lookup.err
apropos -- aws | head -n 20
man -f -- aws 2>/dev/null || true

azمدیریت Azure CLI

171میانیکنترل‌شده

نصب: curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

SYNTAXaz GROUP COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
loginورود
accountحساب
groupresource group
roleنقش
-oقالب
--subscriptionاشتراک
az login --use-device-code
az account show
az group list -o table
az role assignment list --all -o json

روش پیشنهادی: پیش از اجرای az نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- az | tee az.path
type -a -- az 2> az.lookup.err
apropos -- az | head -n 20
man -f -- az 2>/dev/null || true

gcloudمدیریت Google Cloud CLI

172میانیکنترل‌شده

نصب: بسته رسمی Google Cloud CLI

SYNTAXgcloud GROUP COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
authهویت
configپیکربندی
projectsپروژه‌ها
assetدارایی
--projectپروژه
--formatقالب
gcloud auth list
gcloud config list
gcloud projects list
gcloud asset search-all-resources --scope=projects/PROJECT_ID

روش پیشنهادی: پیش از اجرای gcloud نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gcloud | tee gcloud.path
type -a -- gcloud 2> gcloud.lookup.err
apropos -- gcloud | head -n 20
man -f -- gcloud 2>/dev/null || true

dockerمدیریت کانتینر محلی

173میانیکنترل‌شده

نصب: sudo apt install docker.io

SYNTAXdocker OBJECT COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
psکانتینرها
imagesimageها
inspectجزئیات
logsلاگ
statsمنابع
networkشبکه
volumeحجم
docker ps -a
docker images
docker inspect CONTAINER
docker logs --tail 100 CONTAINER
docker stats --no-stream

روش پیشنهادی: پیش از اجرای docker نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- docker | tee docker.path
type -a -- docker 2> docker.lookup.err
apropos -- docker | head -n 20
man -f -- docker 2>/dev/null || true

podmanکانتینر بدون daemon

174میانیکنترل‌شده

نصب: sudo apt install podman

SYNTAXpodman COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
psکانتینر
imagesimage
podpodها
inspectجزئیات
generateتولید config
unsharenamespace
podman ps -a
podman images
podman inspect CONTAINER
podman pod ps
podman generate systemd --new CONTAINER

روش پیشنهادی: پیش از اجرای podman نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- podman | tee podman.path
type -a -- podman 2> podman.lookup.err
apropos -- podman | head -n 20
man -f -- podman 2>/dev/null || true

kubectlمدیریت و ممیزی Kubernetes

175میانیکنترل‌شده

نصب: sudo apt install kubernetes-client

SYNTAXkubectl COMMAND [TYPE] [OPTIONS]
زیرفرمان / گزینهکاربرد
configcontextها
auth can-iمجوز
getمنابع
describeجزئیات
logsلاگ
api-resourcesنوع‌ها
kubectl config current-context
kubectl auth can-i --list
kubectl get pods -A -o wide
kubectl describe pod POD -n NS
kubectl logs POD -n NS --tail=100

روش پیشنهادی: پیش از اجرای kubectl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kubectl | tee kubectl.path
type -a -- kubectl 2> kubectl.lookup.err
apropos -- kubectl | head -n 20
man -f -- kubectl 2>/dev/null || true

helmمدیریت packageهای Kubernetes

176میانیکنترل‌شده

نصب: sudo apt install helm

SYNTAXhelm COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
listreleaseها
repoمخزن
showاطلاعات
templaterender
lintبررسی
historyتاریخچه
helm list -A
helm repo list
helm show values CHART
helm template RELEASE CHART -f values.yaml > rendered.yaml

روش پیشنهادی: پیش از اجرای helm نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- helm | tee helm.path
type -a -- helm 2> helm.lookup.err
apropos -- helm | head -n 20
man -f -- helm 2>/dev/null || true

trivyاسکن image، filesystem و config

177میانیکنترل‌شده

نصب: sudo apt install trivy

SYNTAXtrivy TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد
imageimage
fsفایل‌سیستم
configIaC
repositoryمخزن
--severityشدت
--formatقالب
trivy image --severity HIGH,CRITICAL IMAGE
trivy fs --scanners vuln,secret,misconfig .
trivy config --format json -o trivy.json .

روش پیشنهادی: پیش از اجرای trivy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- trivy | tee trivy.path
type -a -- trivy 2> trivy.lookup.err
apropos -- trivy | head -n 20
man -f -- trivy 2>/dev/null || true

grypeاسکن آسیب‌پذیری image و SBOM

178میانیکنترل‌شده

نصب: نصب از مخزن رسمی Anchore

SYNTAXgrype TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد
docker:/podman:image
sbom:SBOM
dir:پوشه
-oقالب
--fail-onآستانه
grype IMAGE -o table
grype sbom:sbom.json -o json > grype.json
grype dir:. --fail-on high

روش پیشنهادی: پیش از اجرای grype نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- grype | tee grype.path
type -a -- grype 2> grype.lookup.err
apropos -- grype | head -n 20
man -f -- grype 2>/dev/null || true

syftساخت SBOM

179میانیکنترل‌شده

نصب: نصب از مخزن رسمی Anchore

SYNTAXsyft TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد
docker:/podman:image
dir:پوشه
-oقالب
--scopeدامنه
--select-catalogersانتخاب cataloger
syft IMAGE -o cyclonedx-json=sbom.json
syft dir:. -o spdx-json=source-sbom.json

روش پیشنهادی: پیش از اجرای syft نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- syft | tee syft.path
type -a -- syft 2> syft.lookup.err
apropos -- syft | head -n 20
man -f -- syft 2>/dev/null || true

checkovتحلیل امنیت Infrastructure as Code

180میانیکنترل‌شده

نصب: pipx install checkov

SYNTAXcheckov [OPTIONS]
زیرفرمان / گزینهکاربرد
-dپوشه
-fفایل
--frameworkنوع
--checkکنترل
--skip-checkاستثنا
--outputقالب
checkov -d . --framework terraform --output json > checkov.json
checkov -f Dockerfile --framework dockerfile
checkov -d k8s/ --framework kubernetes

روش پیشنهادی: پیش از اجرای checkov نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- checkov | tee checkov.path
type -a -- checkov 2> checkov.lookup.err
apropos -- checkov | head -n 20
man -f -- checkov 2>/dev/null || true

kube-benchبررسی CIS Kubernetes

181میانیکنترل‌شده

نصب: دانلود release رسمی kube-bench

SYNTAXkube-bench [COMMAND] [OPTIONS]
زیرفرمان / گزینهکاربرد
runاجرا
--targetsاجزا
--benchmarkنسخه
--jsonJSON
--checkکنترل خاص
sudo kube-bench run --targets node
sudo kube-bench run --targets master --json > kube-bench.json

روش پیشنهادی: پیش از اجرای kube-bench نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kube-bench | tee kube-bench.path
type -a -- kube-bench 2> kube-bench.lookup.err
apropos -- kube-bench | head -n 20
man -f -- kube-bench 2>/dev/null || true

kubescapeارزیابی posture کلاستر و manifest

182میانیکنترل‌شده

نصب: نصب از مخزن رسمی Kubescape

SYNTAXkubescape scan [TARGET] [OPTIONS]
زیرفرمان / گزینهکاربرد
scanاسکن
frameworkچارچوب
controlکنترل
--formatقالب
--outputخروجی
--severity-thresholdآستانه
kubescape scan framework nsa --format json --output results.json
kubescape scan k8s/ --format html --output report.html

روش پیشنهادی: پیش از اجرای kubescape نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kubescape | tee kubescape.path
type -a -- kubescape 2> kubescape.lookup.err
apropos -- kubescape | head -n 20
man -f -- kubescape 2>/dev/null || true
📱

15. Android و تحلیل برنامه موبایل

13 ابزار و فرمان

adbارتباط با Android آزمایشگاهی

183میانیفقط لابراتوار

نصب: sudo apt install adb

SYNTAXadb [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
devicesدستگاه‌ها
shellشل
pull/pushانتقال
logcatلاگ
install/uninstallبرنامه
forwardتونل
adb devices -l
adb shell getprop
adb shell pm list packages -3
adb pull /sdcard/Download/sample.db evidence/
adb logcat -d > logcat.txt

روش پیشنهادی: پیش از اجرای adb نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- adb | tee adb.path
type -a -- adb 2> adb.lookup.err
apropos -- adb | head -n 20
man -f -- adb 2>/dev/null || true

fastbootمدیریت bootloader دستگاه آزمایشی

184میانیفقط لابراتوار

نصب: sudo apt install fastboot

SYNTAXfastboot [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
devicesدستگاه‌ها
getvarمتغیر
rebootراه‌اندازی
flashنوشتن image مجاز
bootبوت موقت
fastboot devices
fastboot getvar all 2>&1 | tee fastboot-vars.txt
fastboot reboot

روش پیشنهادی: پیش از اجرای fastboot نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- fastboot | tee fastboot.path
type -a -- fastboot 2> fastboot.lookup.err
apropos -- fastboot | head -n 20
man -f -- fastboot 2>/dev/null || true

apktooldecode و بازسازی APK

185میانیفقط لابراتوار

نصب: sudo apt install apktool

SYNTAXapktool COMMAND [OPTIONS] APK
زیرفرمان / گزینهکاربرد
d/decodeبازکردن
b/buildساخت
ifنصب framework
-oخروجی
-fاجبار
apktool d sample.apk -o decoded
apktool b decoded -o rebuilt.apk
apktool if framework-res.apk

روش پیشنهادی: پیش از اجرای apktool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- apktool | tee apktool.path
type -a -- apktool 2> apktool.lookup.err
apropos -- apktool | head -n 20
man -f -- apktool 2>/dev/null || true

jadxdecompile کد Android

186میانیفقط لابراتوار

نصب: sudo apt install jadx

SYNTAXjadx [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-dخروجی
--deobfرفع obfuscation
--show-bad-codeکد ناقص
--threads-countthread
jadx -d jadx-out sample.apk
jadx --show-bad-code --deobf -d deobf-out sample.apk
jadx-gui sample.apk

روش پیشنهادی: پیش از اجرای jadx نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- jadx | tee jadx.path
type -a -- jadx 2> jadx.lookup.err
apropos -- jadx | head -n 20
man -f -- jadx 2>/dev/null || true

aapt2بررسی resource و manifest APK

187میانیفقط لابراتوار

نصب: sudo apt install aapt

SYNTAXaapt2 COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
dump badgingمشخصات
dump xmltreeXML
dump resourcesمنابع
compile/linkساخت
aapt2 dump badging sample.apk
aapt2 dump xmltree sample.apk AndroidManifest.xml
aapt2 dump resources sample.apk

روش پیشنهادی: پیش از اجرای aapt2 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aapt2 | tee aapt2.path
type -a -- aapt2 2> aapt2.lookup.err
apropos -- aapt2 | head -n 20
man -f -- aapt2 2>/dev/null || true

apksignerبررسی و امضای APK آزمایشی

188میانیفقط لابراتوار

نصب: sudo apt install apksigner

SYNTAXapksigner COMMAND [OPTIONS] APK
زیرفرمان / گزینهکاربرد
verifyبررسی
signامضا
rotateچرخش
--print-certsگواهی
--kskeystore
apksigner verify --verbose --print-certs sample.apk
apksigner sign --ks lab.keystore --out signed.apk rebuilt.apk

روش پیشنهادی: پیش از اجرای apksigner نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- apksigner | tee apksigner.path
type -a -- apksigner 2> apksigner.lookup.err
apropos -- apksigner | head -n 20
man -f -- apksigner 2>/dev/null || true

zipalignترازکردن APK بازسازی‌شده

189میانیفقط لابراتوار

نصب: sudo apt install zipalign

SYNTAXzipalign [OPTIONS] ALIGN IN OUT
زیرفرمان / گزینهکاربرد
-cبررسی
-fبازنویسی
-vجزئیات
-ppage align
4هم‌ترازی
zipalign -c -v 4 sample.apk
zipalign -f -v 4 rebuilt.apk aligned.apk

روش پیشنهادی: پیش از اجرای zipalign نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- zipalign | tee zipalign.path
type -a -- zipalign 2> zipalign.lookup.err
apropos -- zipalign | head -n 20
man -f -- zipalign 2>/dev/null || true

keytoolمدیریت keystore و گواهی Java

190میانیفقط لابراتوار

نصب: پیش‌نیاز JDK

SYNTAXkeytool COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
-listفهرست
-printcertگواهی
-genkeypairکلید
-importcertورود
-exportcertخروج
keytool -list -v -keystore lab.keystore
keytool -printcert -jarfile sample.apk
keytool -genkeypair -alias lab -keystore lab.keystore -keyalg RSA

روش پیشنهادی: پیش از اجرای keytool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- keytool | tee keytool.path
type -a -- keytool 2> keytool.lookup.err
apropos -- keytool | head -n 20
man -f -- keytool 2>/dev/null || true

fridainstrumentation پویا در دستگاه خودتان

191میانیفقط لابراتوار

نصب: pipx install frida-tools

SYNTAXfrida [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
frida-psپردازش‌ها
-UUSB
-fspawn
-lاسکریپت
frida-traceردیابی
-iتابع
frida-ps -Uai
frida -U -f com.example.lab -l observe.js
frida-trace -U -i 'open*' com.example.lab

روش پیشنهادی: پیش از اجرای frida نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- frida | tee frida.path
type -a -- frida 2> frida.lookup.err
apropos -- frida | head -n 20
man -f -- frida 2>/dev/null || true

objectionکاوش runtime برنامه موبایل

192میانیفقط لابراتوار

نصب: pipx install objection

SYNTAXobjection [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-gنام برنامه
exploreنشست
android hookinghook
filesystemفایل‌ها
memoryحافظه
objection -g com.example.lab explore
android hooking list activities
android sslpinning disable
filesystem pwd

روش پیشنهادی: پیش از اجرای objection نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- objection | tee objection.path
type -a -- objection 2> objection.lookup.err
apropos -- objection | head -n 20
man -f -- objection 2>/dev/null || true
⚠️ فقط روی برنامه و دستگاه آزمایشگاهی اجرا شود.

androguardتحلیل Python برای APK/DEX

193میانیفقط لابراتوار

نصب: pipx install androguard

SYNTAXandroguard COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
analyzeتحلیل تعاملی
axmlmanifest XML
arscمنابع
decompileکد
disassembleDEX
androguard analyze sample.apk
androguard axml sample.apk > manifest.xml
androguard arsc sample.apk > resources.txt

روش پیشنهادی: پیش از اجرای androguard نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- androguard | tee androguard.path
type -a -- androguard 2> androguard.lookup.err
apropos -- androguard | head -n 20
man -f -- androguard 2>/dev/null || true

scrcpyنمایش و کنترل دستگاه Android

194میانیفقط لابراتوار

نصب: sudo apt install scrcpy

SYNTAXscrcpy [OPTIONS]
زیرفرمان / گزینهکاربرد
--serialدستگاه
--recordضبط
--no-controlفقط مشاهده
--tcpipشبکه
--max-sizeاندازه
scrcpy --serial DEVICE --record session.mp4
scrcpy --no-control --stay-awake
scrcpy --tcpip=DEVICE_IP

روش پیشنهادی: پیش از اجرای scrcpy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- scrcpy | tee scrcpy.path
type -a -- scrcpy 2> scrcpy.lookup.err
apropos -- scrcpy | head -n 20
man -f -- scrcpy 2>/dev/null || true

sqlite3بررسی پایگاه داده برنامه

195میانیفقط لابراتوار

نصب: sudo apt install sqlite3

SYNTAXsqlite3 [OPTIONS] DATABASE
زیرفرمان / گزینهکاربرد
.tablesجدول‌ها
.schemaساختار
.headersسربرگ
.modeقالب
.dumpخروجی
.recoverبازیابی
sqlite3 app.db '.tables'
sqlite3 app.db '.schema'
sqlite3 -header -csv app.db 'SELECT * FROM users LIMIT 20;' > users.csv

روش پیشنهادی: پیش از اجرای sqlite3 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sqlite3 | tee sqlite3.path
type -a -- sqlite3 2> sqlite3.lookup.err
apropos -- sqlite3 | head -n 20
man -f -- sqlite3 2>/dev/null || true
🛡️

16. دفاع، hardening و پایش میزبان

13 ابزار و فرمان

clamdscanاسکن ضدبدافزار با ClamAV daemon

196میانیدفاعی

نصب: sudo apt install clamav-daemon

SYNTAXclamdscan [OPTIONS] PATH
زیرفرمان / گزینهکاربرد
--fdpassدسترسی
--multiscanموازی
--logلاگ
--infectedفقط آلوده
--moveقرنطینه
sudo freshclam
clamdscan --fdpass --multiscan samples/
clamdscan --log=clamav.log evidence/

روش پیشنهادی: پیش از اجرای clamdscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- clamdscan | tee clamdscan.path
type -a -- clamdscan 2> clamdscan.lookup.err
apropos -- clamdscan | head -n 20
man -f -- clamdscan 2>/dev/null || true

rkhunterبررسی rootkit و پیکربندی

197میانیدفاعی

نصب: sudo apt install rkhunter

SYNTAXrkhunter [OPTIONS]
زیرفرمان / گزینهکاربرد
--updateتازه‌سازی
--checkبررسی
--skردکردن pause
--propupdbaseline
--report-warnings-onlyهشدار
sudo rkhunter --update
sudo rkhunter --check --sk
sudo rkhunter --propupd

روش پیشنهادی: پیش از اجرای rkhunter نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rkhunter | tee rkhunter.path
type -a -- rkhunter 2> rkhunter.lookup.err
apropos -- rkhunter | head -n 20
man -f -- rkhunter 2>/dev/null || true

chkrootkitبررسی سریع نشانه‌های rootkit

198میانیدفاعی

نصب: sudo apt install chkrootkit

SYNTAXchkrootkit [OPTIONS] [TESTS]
زیرفرمان / گزینهکاربرد
-qفقط مشکوک
-xexpert
-rریشه جایگزین
TESTآزمون خاص
sudo chkrootkit
sudo chkrootkit -q
sudo chkrootkit -x lkm

روش پیشنهادی: پیش از اجرای chkrootkit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- chkrootkit | tee chkrootkit.path
type -a -- chkrootkit 2> chkrootkit.lookup.err
apropos -- chkrootkit | head -n 20
man -f -- chkrootkit 2>/dev/null || true

auditctlتعریف و مشاهده ruleهای Linux Audit

199میانیدفاعی

نصب: sudo apt install auditd

SYNTAXauditctl [OPTIONS]
زیرفرمان / گزینهکاربرد
-lفهرست
-wwatch
-pمجوز
-kکلید
-arule
-Dحذف همه
sudo auditctl -l
sudo auditctl -w /etc/passwd -p wa -k identity_changes
sudo auditctl -D

روش پیشنهادی: پیش از اجرای auditctl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- auditctl | tee auditctl.path
type -a -- auditctl 2> auditctl.lookup.err
apropos -- auditctl | head -n 20
man -f -- auditctl 2>/dev/null || true

ausearchجست‌وجوی رویداد Audit

200میانیدفاعی

نصب: sudo apt install auditd

SYNTAXausearch [OPTIONS]
زیرفرمان / گزینهکاربرد
-kکلید
-ts/-teزمان
-mنوع پیام
-pPID
-iتفسیر
sudo ausearch -k identity_changes -ts today
sudo ausearch -m USER_LOGIN -sv no
sudo ausearch -p PID -i

روش پیشنهادی: پیش از اجرای ausearch نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ausearch | tee ausearch.path
type -a -- ausearch 2> ausearch.lookup.err
apropos -- ausearch | head -n 20
man -f -- ausearch 2>/dev/null || true

aureportگزارش خلاصه Linux Audit

201میانیدفاعی

نصب: sudo apt install auditd

SYNTAXaureport [OPTIONS]
زیرفرمان / گزینهکاربرد
--summaryخلاصه
--authورود
--failedناموفق
--fileفایل
--startشروع
sudo aureport --summary
sudo aureport --auth --failed
sudo aureport --file --start today

روش پیشنهادی: پیش از اجرای aureport نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aureport | tee aureport.path
type -a -- aureport 2> aureport.lookup.err
apropos -- aureport | head -n 20
man -f -- aureport 2>/dev/null || true

osqueryiپرس‌وجوی SQL از وضعیت سیستم

202میانیدفاعی

نصب: نصب از مخزن رسمی osquery

SYNTAXosqueryi [OPTIONS] [SQL]
زیرفرمان / گزینهکاربرد
.tablesجدول‌ها
.schemaساختار
--jsonJSON
--csvCSV
--lineخطی
--database_pathپایگاه
osqueryi 'SELECT pid,name,path FROM processes LIMIT 20;'
osqueryi 'SELECT * FROM listening_ports;'
osqueryi --json 'SELECT * FROM users;' > users.json

روش پیشنهادی: پیش از اجرای osqueryi نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- osqueryi | tee osqueryi.path
type -a -- osqueryi 2> osqueryi.lookup.err
apropos -- osqueryi | head -n 20
man -f -- osqueryi 2>/dev/null || true

inotifywaitپایش تغییرات فایل

203میانیدفاعی

نصب: sudo apt install inotify-tools

SYNTAXinotifywait [OPTIONS] PATH
زیرفرمان / گزینهکاربرد
-mپیوسته
-rبازگشتی
-eرویداد
--formatقالب
--timefmtزمان
-ttimeout
inotifywait -m -r -e create,modify,delete /etc
inotifywait --format '%T %e %w%f' --timefmt '%FT%T' -m watched/

روش پیشنهادی: پیش از اجرای inotifywait نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- inotifywait | tee inotifywait.path
type -a -- inotifywait 2> inotifywait.lookup.err
apropos -- inotifywait | head -n 20
man -f -- inotifywait 2>/dev/null || true

aidebaseline تمامیت فایل

204میانیدفاعی

نصب: sudo apt install aide

SYNTAXaide [OPTIONS]
زیرفرمان / گزینهکاربرد
--initساخت baseline
--checkبررسی
--updateبه‌روزرسانی
-cپیکربندی
-rگزارش
sudo aideinit
sudo aide --check
sudo aide --update

روش پیشنهادی: پیش از اجرای aide نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aide | tee aide.path
type -a -- aide 2> aide.lookup.err
apropos -- aide | head -n 20
man -f -- aide 2>/dev/null || true

ufwفایروال ساده میزبان

205میانیدفاعی

نصب: sudo apt install ufw

SYNTAXufw COMMAND [RULE]
زیرفرمان / گزینهکاربرد
statusوضعیت
defaultپیش‌فرض
allow/denyrule
deleteحذف
enable/disableفعال‌سازی
sudo ufw status verbose
sudo ufw default deny incoming
sudo ufw allow from 192.0.2.0/24 to any port 22 proto tcp
sudo ufw enable

روش پیشنهادی: پیش از اجرای ufw نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ufw | tee ufw.path
type -a -- ufw 2> ufw.lookup.err
apropos -- ufw | head -n 20
man -f -- ufw 2>/dev/null || true

nftمدیریت nftables

206میانیدفاعی

نصب: sudo apt install nftables

SYNTAXnft COMMAND OBJECT
زیرفرمان / گزینهکاربرد
list rulesetنمایش
addافزودن
deleteحذف
flushپاک‌سازی
-cبررسی فایل
-fاعمال فایل
sudo nft list ruleset
sudo nft list tables
sudo nft -c -f rules.nft
sudo nft -f rules.nft

روش پیشنهادی: پیش از اجرای nft نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- nft | tee nft.path
type -a -- nft 2> nft.lookup.err
apropos -- nft | head -n 20
man -f -- nft 2>/dev/null || true

iptablesفایروال legacy و سازگاری

207میانیدفاعی

نصب: sudo apt install iptables

SYNTAXiptables [TABLE] COMMAND [CHAIN] [RULE]
زیرفرمان / گزینهکاربرد
-Sruleها
-Lفهرست
-Aافزودن
-Dحذف
-tجدول
-nعددی
-vجزئیات
sudo iptables -S
sudo iptables -L -n -v --line-numbers
sudo iptables-save > iptables.backup

روش پیشنهادی: پیش از اجرای iptables نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- iptables | tee iptables.path
type -a -- iptables 2> iptables.lookup.err
apropos -- iptables | head -n 20
man -f -- iptables 2>/dev/null || true
⚠️ پیش از تغییر remote firewall مسیر بازگشت و نسخه پشتیبان داشته باشید.

fail2ban-clientمدیریت jailهای Fail2ban

208میانیدفاعی

نصب: sudo apt install fail2ban

SYNTAXfail2ban-client COMMAND [JAIL]
زیرفرمان / گزینهکاربرد
statusوضعیت
getخواندن
setتنظیم
reloadبارگذاری
unbanرفع ban
pingسلامت
sudo fail2ban-client status
sudo fail2ban-client status sshd
sudo fail2ban-client get sshd bantime
sudo fail2ban-client reload

روش پیشنهادی: پیش از اجرای fail2ban-client نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- fail2ban-client | tee fail2ban-client.path
type -a -- fail2ban-client 2> fail2ban-client.lookup.err
apropos -- fail2ban-client | head -n 20
man -f -- fail2ban-client 2>/dev/null || true
🗄️

17. پایگاه داده و سرویس‌های داده

13 ابزار و فرمان

mysqlکلاینت MySQL/MariaDB

209میانیکنترل‌شده

نصب: sudo apt install default-mysql-client

SYNTAXmysql [OPTIONS] [DATABASE]
زیرفرمان / گزینهکاربرد
-hمیزبان
-uکاربر
-pدرخواست رمز
-eSQL
--ssl-modeTLS
--batchخروجی جدولی
mysql -h TARGET -u testuser -p --ssl-mode=REQUIRED
mysql -h TARGET -u testuser -p -e 'SHOW DATABASES;'
mysql --batch --raw -e 'SELECT VERSION();' > version.tsv

روش پیشنهادی: پیش از اجرای mysql نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mysql | tee mysql.path
type -a -- mysql 2> mysql.lookup.err
apropos -- mysql | head -n 20
man -f -- mysql 2>/dev/null || true

mysqladminمدیریت و سلامت MySQL

210میانیکنترل‌شده

نصب: sudo apt install default-mysql-client

SYNTAXmysqladmin [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
pingسلامت
statusوضعیت
variablesمتغیرها
processlistپردازش‌ها
versionنسخه
mysqladmin -h TARGET -u testuser -p ping
mysqladmin -h TARGET -u testuser -p status
mysqladmin -h TARGET -u testuser -p variables | head

روش پیشنهادی: پیش از اجرای mysqladmin نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mysqladmin | tee mysqladmin.path
type -a -- mysqladmin 2> mysqladmin.lookup.err
apropos -- mysqladmin | head -n 20
man -f -- mysqladmin 2>/dev/null || true

mysqldumpپشتیبان‌گیری منطقی MySQL

211میانیکنترل‌شده

نصب: sudo apt install default-mysql-client

SYNTAXmysqldump [OPTIONS] DATABASE
زیرفرمان / گزینهکاربرد
--single-transactionسازگار
--no-dataفقط schema
--whereشرط
--databasesچند DB
--result-fileخروجی
mysqldump -h TARGET -u testuser -p --single-transaction labdb > labdb.sql
mysqldump -h TARGET -u testuser -p --no-data labdb > schema.sql

روش پیشنهادی: پیش از اجرای mysqldump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mysqldump | tee mysqldump.path
type -a -- mysqldump 2> mysqldump.lookup.err
apropos -- mysqldump | head -n 20
man -f -- mysqldump 2>/dev/null || true

psqlکلاینت PostgreSQL

212میانیکنترل‌شده

نصب: sudo apt install postgresql-client

SYNTAXpsql [OPTIONS] [DBNAME]
زیرفرمان / گزینهکاربرد
-hمیزبان
-Uکاربر
-dپایگاه
-cفرمان
-fفایل
-Aبدون alignment
-tفقط tuple
psql 'host=TARGET dbname=lab user=testuser sslmode=require'
psql -h TARGET -U testuser -d lab -c '\dt'
psql -h TARGET -U testuser -d lab -Atc 'SELECT version();' > version.txt

روش پیشنهادی: پیش از اجرای psql نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- psql | tee psql.path
type -a -- psql 2> psql.lookup.err
apropos -- psql | head -n 20
man -f -- psql 2>/dev/null || true

pg_isreadyآزمون آمادگی PostgreSQL

213میانیکنترل‌شده

نصب: sudo apt install postgresql-client

SYNTAXpg_isready [OPTIONS]
زیرفرمان / گزینهکاربرد
-hمیزبان
-pپورت
-dپایگاه
-Uکاربر
-ttimeout
-qساکت
pg_isready -h TARGET -p 5432 -d lab -U testuser
pg_isready -h TARGET -t 3 -q; echo $?

روش پیشنهادی: پیش از اجرای pg_isready نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pg_isready | tee pg_isready.path
type -a -- pg_isready 2> pg_isready.lookup.err
apropos -- pg_isready | head -n 20
man -f -- pg_isready 2>/dev/null || true

pg_dumpپشتیبان منطقی PostgreSQL

214میانیکنترل‌شده

نصب: sudo apt install postgresql-client

SYNTAXpg_dump [OPTIONS] DBNAME
زیرفرمان / گزینهکاربرد
-Fقالب
-fخروجی
--schema-onlyفقط schema
--data-onlyفقط داده
-tجدول
pg_restore -lفهرست
pg_dump -h TARGET -U testuser -d lab -Fc -f lab.dump
pg_dump -h TARGET -U testuser -d lab --schema-only > schema.sql
pg_restore -l lab.dump | head

روش پیشنهادی: پیش از اجرای pg_dump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pg_dump | tee pg_dump.path
type -a -- pg_dump 2> pg_dump.lookup.err
apropos -- pg_dump | head -n 20
man -f -- pg_dump 2>/dev/null || true

redis-cliکلاینت Redis

215میانیکنترل‌شده

نصب: sudo apt install redis-tools

SYNTAXredis-cli [OPTIONS] [COMMAND]
زیرفرمان / گزینهکاربرد
-hمیزبان
-pپورت
--userACL user
--askpassرمز
--tlsTLS
--scanپویش امن
redis-cli -h TARGET -p 6379 PING
redis-cli -h TARGET --user testuser --askpass INFO server
redis-cli -h TARGET --scan | head

روش پیشنهادی: پیش از اجرای redis-cli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- redis-cli | tee redis-cli.path
type -a -- redis-cli 2> redis-cli.lookup.err
apropos -- redis-cli | head -n 20
man -f -- redis-cli 2>/dev/null || true

redis-benchmarkbaseline کارایی Redis خودتان

216میانیکنترل‌شده

نصب: sudo apt install redis-tools

SYNTAXredis-benchmark [OPTIONS]
زیرفرمان / گزینهکاربرد
-hمیزبان
-pپورت
-nتعداد
-cاتصال
-tآزمون‌ها
--csvخروجی
redis-benchmark -h TARGET -p 6379 -n 100 -c 2 -t ping,set,get
redis-benchmark -h TARGET -n 50 --csv > redis-bench.csv

روش پیشنهادی: پیش از اجرای redis-benchmark نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- redis-benchmark | tee redis-benchmark.path
type -a -- redis-benchmark 2> redis-benchmark.lookup.err
apropos -- redis-benchmark | head -n 20
man -f -- redis-benchmark 2>/dev/null || true
⚠️ نرخ و تعداد را در محیط تولید فقط با هماهنگی تعیین کنید.

mongoshشل MongoDB

217میانیکنترل‌شده

نصب: نصب از مخزن رسمی MongoDB

SYNTAXmongosh [URI] [OPTIONS]
زیرفرمان / گزینهکاربرد
--evalاجرای JS
--quietخروجی کم
--fileاسکریپت
--tlsTLS
--authenticationDatabaseDB احراز
mongosh 'mongodb://testuser@TARGET:27017/lab?authSource=admin'
mongosh URI --quiet --eval 'db.runCommand({ping:1})'
mongosh URI --eval 'db.getCollectionNames()'

روش پیشنهادی: پیش از اجرای mongosh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mongosh | tee mongosh.path
type -a -- mongosh 2> mongosh.lookup.err
apropos -- mongosh | head -n 20
man -f -- mongosh 2>/dev/null || true

mongodumpپشتیبان MongoDB

218میانیکنترل‌شده

نصب: نصب mongodb-database-tools

SYNTAXmongodump [OPTIONS]
زیرفرمان / گزینهکاربرد
--uriاتصال
--dbپایگاه
--collectionمجموعه
--outپوشه
--archiveفایل
--gzipفشرده
mongodump --uri URI --db lab --out mongo-backup
mongodump --uri URI --db lab --collection events --archive=events.gz --gzip

روش پیشنهادی: پیش از اجرای mongodump نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mongodump | tee mongodump.path
type -a -- mongodump 2> mongodump.lookup.err
apropos -- mongodump | head -n 20
man -f -- mongodump 2>/dev/null || true

sqlcmdکلاینت Microsoft SQL Server

219میانیکنترل‌شده

نصب: نصب mssql-tools18

SYNTAXsqlcmd [OPTIONS]
زیرفرمان / گزینهکاربرد
-Sسرور
-U/-Pاعتبارنامه
-Eintegrated auth
-Qquery
-iفایل
-oخروجی
-Cاعتماد گواهی لاب
sqlcmd -S TARGET -U testuser -P 'TestPass!' -C -Q 'SELECT @@VERSION'
sqlcmd -S TARGET -E -Q 'SELECT name FROM sys.databases' -o databases.txt

روش پیشنهادی: پیش از اجرای sqlcmd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sqlcmd | tee sqlcmd.path
type -a -- sqlcmd 2> sqlcmd.lookup.err
apropos -- sqlcmd | head -n 20
man -f -- sqlcmd 2>/dev/null || true

sqshشل SQL برای Sybase/MSSQL

220میانیکنترل‌شده

نصب: sudo apt install sqsh

SYNTAXsqsh [OPTIONS]
زیرفرمان / گزینهکاربرد
-Sسرور
-Uکاربر
-Pرمز
-Dپایگاه
-Cفرمان
-iفایل
sqsh -S TARGET -U testuser -P 'TestPass!'
1> select @@version
2> go
sqsh -S TARGET -U testuser -P 'TestPass!' -C 'select name from sys.databases'

روش پیشنهادی: پیش از اجرای sqsh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sqsh | tee sqsh.path
type -a -- sqsh 2> sqsh.lookup.err
apropos -- sqsh | head -n 20
man -f -- sqsh 2>/dev/null || true

mdb-tablesبررسی پایگاه Microsoft Access

221میانیکنترل‌شده

نصب: sudo apt install mdbtools

SYNTAXmdb-COMMAND [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
mdb-tablesجدول‌ها
mdb-schemaschema
mdb-exportCSV
mdb-sqlquery
mdb-jsonJSON
mdb-tables -1 sample.mdb
mdb-schema sample.mdb > schema.sql
mdb-export sample.mdb TABLE > table.csv
mdb-sql sample.mdb < query.sql

روش پیشنهادی: پیش از اجرای mdb-tables نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mdb-tables | tee mdb-tables.path
type -a -- mdb-tables 2> mdb-tables.lookup.err
apropos -- mdb-tables | head -n 20
man -f -- mdb-tables 2>/dev/null || true
🔌

18. دسترسی راه‌دور و پروتکل‌های مدیریتی

13 ابزار و فرمان

sshاتصال امن و عیب‌یابی SSH

222میانیفعال

نصب: sudo apt install openssh-client

SYNTAXssh [OPTIONS] [USER@]HOST [COMMAND]
زیرفرمان / گزینهکاربرد
-v/-vvvدیباگ
-Jjump host
-Lforward محلی
-Rforward راه‌دور
-DSOCKS
-Gپیکربندی نهایی
ssh -v testuser@TARGET
ssh -J jump@BASTION testuser@TARGET
ssh -L 8080:127.0.0.1:80 testuser@TARGET
ssh -G TARGET | less

روش پیشنهادی: پیش از اجرای ssh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ssh | tee ssh.path
type -a -- ssh 2> ssh.lookup.err
apropos -- ssh | head -n 20
man -f -- ssh 2>/dev/null || true

scpکپی فایل روی SSH

223میانیفعال

نصب: sudo apt install openssh-client

SYNTAXscp [OPTIONS] SOURCE DEST
زیرفرمان / گزینهکاربرد
-rبازگشتی
-Pپورت
-Jjump
-pحفظ زمان
-Cفشرده
-lمحدودیت پهنای‌باند
scp report.md testuser@TARGET:/tmp/
scp -r evidence/ testuser@TARGET:/tmp/evidence/
scp -J jump@BASTION file testuser@TARGET:/tmp/

روش پیشنهادی: پیش از اجرای scp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- scp | tee scp.path
type -a -- scp 2> scp.lookup.err
apropos -- scp | head -n 20
man -f -- scp 2>/dev/null || true

sftpانتقال تعاملی امن

224میانیفعال

نصب: sudo apt install openssh-client

SYNTAXsftp [OPTIONS] [USER@]HOST
زیرفرمان / گزینهکاربرد
ls/llsراه‌دور/محلی
get/putانتقال
reget/reputادامه
mkdirپوشه
progressوضعیت
sftp testuser@TARGET
sftp> ls -la
sftp> get remote.log
sftp> put local.txt
sftp> exit

روش پیشنهادی: پیش از اجرای sftp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sftp | tee sftp.path
type -a -- sftp 2> sftp.lookup.err
apropos -- sftp | head -n 20
man -f -- sftp 2>/dev/null || true

rsyncهمگام‌سازی امن و افزایشی

225میانیفعال

نصب: sudo apt install rsync

SYNTAXrsync [OPTIONS] SOURCE DEST
زیرفرمان / گزینهکاربرد
-aarchive
-vجزئیات
-hخوانا
-ndry-run
--checksumهش
--delete-afterحذف پس از sync
-etransport
rsync -avhn evidence/ backup/evidence/
rsync -avh --checksum -e ssh evidence/ testuser@TARGET:/backup/
rsync -av --delete-after source/ mirror/

روش پیشنهادی: پیش از اجرای rsync نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rsync | tee rsync.path
type -a -- rsync 2> rsync.lookup.err
apropos -- rsync | head -n 20
man -f -- rsync 2>/dev/null || true

ftpکلاینت FTP کلاسیک

226میانیفعال

نصب: sudo apt install ftp

SYNTAXftp [OPTIONS] HOST
زیرفرمان / گزینهکاربرد
openاتصال
passiveحالت passive
lsفهرست
binaryباینری
get/putانتقال
mgetچند فایل
ftp TARGET
ftp> passive
ftp> ls
ftp> binary
ftp> get sample.bin
ftp> quit

روش پیشنهادی: پیش از اجرای ftp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ftp | tee ftp.path
type -a -- ftp 2> ftp.lookup.err
apropos -- ftp | head -n 20
man -f -- ftp 2>/dev/null || true

lftpکلاینت FTP/SFTP پیشرفته

227میانیفعال

نصب: sudo apt install lftp

SYNTAXlftp [OPTIONS] URL
زیرفرمان / گزینهکاربرد
openاتصال
mirrorهمگام‌سازی
pgetدانلود موازی
mputارسال چندگانه
set ssl:verify-certificateTLS
lftp -u testuser sftp://TARGET
lftp> cls -l
lftp> mirror --dry-run remote local
lftp> pget -n 2 large.file

روش پیشنهادی: پیش از اجرای lftp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- lftp | tee lftp.path
type -a -- lftp 2> lftp.lookup.err
apropos -- lftp | head -n 20
man -f -- lftp 2>/dev/null || true

telnetآزمون متنی سرویس‌ها

228میانیفعال

نصب: sudo apt install telnet

SYNTAXtelnet HOST PORT
زیرفرمان / گزینهکاربرد
openاتصال
closeبستن
quitخروج
Ctrl+]prompt محلی
telnet TARGET 25
EHLO lab.example
QUIT
telnet TARGET 80
HEAD / HTTP/1.0

روش پیشنهادی: پیش از اجرای telnet نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- telnet | tee telnet.path
type -a -- telnet 2> telnet.lookup.err
apropos -- telnet | head -n 20
man -f -- telnet 2>/dev/null || true

xfreerdpکلاینت RDP

229میانیفعال

نصب: sudo apt install freerdp2-x11

SYNTAXxfreerdp [OPTIONS]
زیرفرمان / گزینهکاربرد
/vمیزبان
/uکاربر
/dدامنه
/certگواهی
/driveپوشه مشترک
/clipboardکلیپ‌بورد
/secامنیت
xfreerdp /v:TARGET /u:testuser /cert:tofu /dynamic-resolution
xfreerdp /v:TARGET /u:testuser /drive:share,$PWD /clipboard

روش پیشنهادی: پیش از اجرای xfreerdp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- xfreerdp | tee xfreerdp.path
type -a -- xfreerdp 2> xfreerdp.lookup.err
apropos -- xfreerdp | head -n 20
man -f -- xfreerdp 2>/dev/null || true

rdesktopکلاینت RDP سبک

230میانیفعال

نصب: sudo apt install rdesktop

SYNTAXrdesktop [OPTIONS] SERVER
زیرفرمان / گزینهکاربرد
-uکاربر
-dدامنه
-gاندازه
-rredirect
-fتمام‌صفحه
-xتجربه شبکه
rdesktop -u testuser -d LAB -g 1280x720 TARGET
rdesktop -u testuser -r disk:share=$PWD TARGET

روش پیشنهادی: پیش از اجرای rdesktop نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rdesktop | tee rdesktop.path
type -a -- rdesktop 2> rdesktop.lookup.err
apropos -- rdesktop | head -n 20
man -f -- rdesktop 2>/dev/null || true

remminaمدیر گرافیکی اتصالات راه‌دور

231میانیفعال

نصب: sudo apt install remmina

SYNTAXremmina [OPTIONS]
زیرفرمان / گزینهکاربرد
-cاتصال پروفایل
--newپروفایل جدید
--icontray
RDP/VNC/SSHپروتکل‌ها
remmina
remmina -c profile.remmina
remmina --new

روش پیشنهادی: پیش از اجرای remmina نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- remmina | tee remmina.path
type -a -- remmina 2> remmina.lookup.err
apropos -- remmina | head -n 20
man -f -- remmina 2>/dev/null || true

smtp-user-enumبررسی حساب SMTP در لابراتوار

232میانیفعال

نصب: sudo apt install smtp-user-enum

SYNTAXsmtp-user-enum [OPTIONS]
زیرفرمان / گزینهکاربرد
-Mروش VRFY/EXPN/RCPT
-Uفایل کاربر
-uیک کاربر
-tهدف
-pپورت
-Dدامنه
smtp-user-enum -M VRFY -U test-users.txt -t MAIL_TARGET -p 25
smtp-user-enum -M RCPT -u testuser -t MAIL_TARGET

روش پیشنهادی: پیش از اجرای smtp-user-enum نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- smtp-user-enum | tee smtp-user-enum.path
type -a -- smtp-user-enum 2> smtp-user-enum.lookup.err
apropos -- smtp-user-enum | head -n 20
man -f -- smtp-user-enum 2>/dev/null || true

swaksآزمون کامل SMTP

233میانیفعال

نصب: sudo apt install swaks

SYNTAXswaks [OPTIONS]
زیرفرمان / گزینهکاربرد
--serverسرور
--to/--fromنشانی
--tlsSTARTTLS
--authروش
--quit-afterتوقف مرحله‌ای
--dump-mailنمایش
swaks --server MAIL_TARGET --to test@example.test --from audit@example.test --quit-after RCPT
swaks --server MAIL_TARGET --tls --auth LOGIN --auth-user testuser --auth-password 'TestPass!' --to test@example.test

روش پیشنهادی: پیش از اجرای swaks نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- swaks | tee swaks.path
type -a -- swaks 2> swaks.lookup.err
apropos -- swaks | head -n 20
man -f -- swaks 2>/dev/null || true

ssh-keyscanگردآوری کلید میزبان SSH

234میانیفعال

نصب: sudo apt install openssh-client

SYNTAXssh-keyscan [OPTIONS] HOSTS
زیرفرمان / گزینهکاربرد
-Ttimeout
-tنوع کلید
-fفهرست
-Hهش نام میزبان
-pپورت
ssh-keyscan -T 5 -t ed25519,rsa TARGET > host.keys
ssh-keyscan -f hosts.txt -H > known_hosts.new
ssh-keygen -lf host.keys

روش پیشنهادی: پیش از اجرای ssh-keyscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ssh-keyscan | tee ssh-keyscan.path
type -a -- ssh-keyscan 2> ssh-keyscan.lookup.err
apropos -- ssh-keyscan | head -n 20
man -f -- ssh-keyscan 2>/dev/null || true
📻

19. سخت‌افزار، سریال، SDR و IoT

13 ابزار و فرمان

flashromشناسایی و خواندن flash مجاز

235میانیفقط لابراتوار

نصب: sudo apt install flashrom

SYNTAXflashrom [OPTIONS]
زیرفرمان / گزینهکاربرد
-pprogrammer
-rخواندن
-wنوشتن
-vverify
-Lفهرست chip
-cchip
sudo flashrom -p internal
sudo flashrom -p PROGRAMMER -r firmware.bin
sha256sum firmware.bin
sudo flashrom -p PROGRAMMER -v firmware.bin

روش پیشنهادی: پیش از اجرای flashrom نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- flashrom | tee flashrom.path
type -a -- flashrom 2> flashrom.lookup.err
apropos -- flashrom | head -n 20
man -f -- flashrom 2>/dev/null || true
⚠️ نوشتن flash می‌تواند دستگاه را خراب کند؛ ابتدا چند خواندن همسان و هش تهیه کنید.

esptoolمدیریت تراشه‌های Espressif

236میانیفقط لابراتوار

نصب: pipx install esptool

SYNTAXesptool [GLOBAL] COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
chip-idشناسه
flash-idflash
read-flashخواندن
write-flashنوشتن
erase-flashپاک‌کردن
--portپورت
esptool --port /dev/ttyUSB0 chip-id
esptool --port /dev/ttyUSB0 flash-id
esptool --port /dev/ttyUSB0 read-flash 0 0x400000 esp.bin

روش پیشنهادی: پیش از اجرای esptool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- esptool | tee esptool.path
type -a -- esptool 2> esptool.lookup.err
apropos -- esptool | head -n 20
man -f -- esptool 2>/dev/null || true

openocdدیباگ JTAG/SWD

237میانیفقط لابراتوار

نصب: sudo apt install openocd

SYNTAXopenocd [OPTIONS]
زیرفرمان / گزینهکاربرد
-fپیکربندی
-cفرمان
initآغاز
targetsهدف‌ها
scan_chainزنجیره
shutdownخروج
openocd -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg
openocd -f board/BOARD.cfg -c 'init; targets; shutdown'

روش پیشنهادی: پیش از اجرای openocd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- openocd | tee openocd.path
type -a -- openocd 2> openocd.lookup.err
apropos -- openocd | head -n 20
man -f -- openocd 2>/dev/null || true

minicomترمینال سریال

238میانیفقط لابراتوار

نصب: sudo apt install minicom

SYNTAXminicom [OPTIONS]
زیرفرمان / گزینهکاربرد
-sتنظیم
-Dدستگاه
-bbaud
-Ccapture
-oبدون init
Ctrl-A Zراهنما
sudo minicom -s
minicom -D /dev/ttyUSB0 -b 115200 -C serial.log
# Ctrl-A Z: راهنما، Ctrl-A X: خروج

روش پیشنهادی: پیش از اجرای minicom نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- minicom | tee minicom.path
type -a -- minicom 2> minicom.lookup.err
apropos -- minicom | head -n 20
man -f -- minicom 2>/dev/null || true

picocomترمینال سریال مینیمال

239میانیفقط لابراتوار

نصب: sudo apt install picocom

SYNTAXpicocom [OPTIONS] DEVICE
زیرفرمان / گزینهکاربرد
-b/--baudسرعت
--flowflow control
--imapنگاشت ورودی
--omapخروجی
--logfileلاگ
Ctrl-A Ctrl-Xخروج
picocom -b 115200 --flow n --imap lfcrlf /dev/ttyUSB0
picocom --baud 9600 --logfile serial.log /dev/ttyUSB0

روش پیشنهادی: پیش از اجرای picocom نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- picocom | tee picocom.path
type -a -- picocom 2> picocom.lookup.err
apropos -- picocom | head -n 20
man -f -- picocom 2>/dev/null || true

screen-serialاستفاده از screen برای UART

240میانیفقط لابراتوار

نصب: sudo apt install screen

SYNTAXscreen DEVICE BAUD
زیرفرمان / گزینهکاربرد
-Lلاگ
-Logfileفایل
Ctrl-A Htoggle log
Ctrl-A Kخروج
screen /dev/ttyUSB0 115200
# Ctrl-A H: ثبت، Ctrl-A K: پایان
screen -L -Logfile serial.log /dev/ttyUSB0 9600

روش پیشنهادی: پیش از اجرای screen-serial نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- screen-serial | tee screen-serial.path
type -a -- screen-serial 2> screen-serial.lookup.err
apropos -- screen-serial | head -n 20
man -f -- screen-serial 2>/dev/null || true

sigrok-cliثبت و decode سیگنال منطقی

241میانیفقط لابراتوار

نصب: sudo apt install sigrok-cli

SYNTAXsigrok-cli [OPTIONS]
زیرفرمان / گزینهکاربرد
--scanدستگاه‌ها
-ddriver
-cپیکربندی
--samplesنمونه
-oخروجی
-Pdecoder
sigrok-cli --scan
sigrok-cli -d DRIVER --show
sigrok-cli -d DRIVER -c samplerate=1m --samples 100000 -o capture.sr
sigrok-cli -i capture.sr -P uart:baudrate=115200

روش پیشنهادی: پیش از اجرای sigrok-cli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sigrok-cli | tee sigrok-cli.path
type -a -- sigrok-cli 2> sigrok-cli.lookup.err
apropos -- sigrok-cli | head -n 20
man -f -- sigrok-cli 2>/dev/null || true

rtl_testآزمون RTL-SDR

242میانیفقط لابراتوار

نصب: sudo apt install rtl-sdr

SYNTAXrtl_test [OPTIONS]
زیرفرمان / گزینهکاربرد
-tآزمون tuner
-ssample rate
-pآزمون PPM
-dشماره دستگاه
rtl_test -t
rtl_test -s 2400000 -p 10

روش پیشنهادی: پیش از اجرای rtl_test نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rtl_test | tee rtl_test.path
type -a -- rtl_test 2> rtl_test.lookup.err
apropos -- rtl_test | head -n 20
man -f -- rtl_test 2>/dev/null || true

rtl_433decode حسگرهای ISM

243میانیفقط لابراتوار

نصب: sudo apt install rtl-433

SYNTAXrtl_433 [OPTIONS]
زیرفرمان / گزینهکاربرد
-fفرکانس
-Fقالب
-Mmetadata
-Rپروتکل
-Gهمه decoderها
-Sذخیره signal
rtl_433 -f 433.92M -F json -M time:iso > sensors.jsonl
rtl_433 -R help
rtl_433 -G 4 -S known

روش پیشنهادی: پیش از اجرای rtl_433 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rtl_433 | tee rtl_433.path
type -a -- rtl_433 2> rtl_433.lookup.err
apropos -- rtl_433 | head -n 20
man -f -- rtl_433 2>/dev/null || true

hackrf_infoمشخصات HackRF

244میانیفقط لابراتوار

نصب: sudo apt install hackrf

SYNTAXhackrf_info
زیرفرمان / گزینهکاربرد
hackrf_infoمشخصات
hackrf_clockclock
hackrf_spiflashflash
-dserial
hackrf_info
hackrf_clock -i
hackrf_spiflash -v

روش پیشنهادی: پیش از اجرای hackrf_info نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hackrf_info | tee hackrf_info.path
type -a -- hackrf_info 2> hackrf_info.lookup.err
apropos -- hackrf_info | head -n 20
man -f -- hackrf_info 2>/dev/null || true

hackrf_transferثبت IQ با HackRF

245میانیفقط لابراتوار

نصب: sudo apt install hackrf

SYNTAXhackrf_transfer [OPTIONS]
زیرفرمان / گزینهکاربرد
-rدریافت
-tارسال
-fفرکانس
-ssample rate
-nتعداد
-lLNA gain
-gVGA gain
hackrf_transfer -r capture.iq -f 915000000 -s 2000000 -n 4000000 -l 16 -g 16
sha256sum capture.iq

روش پیشنهادی: پیش از اجرای hackrf_transfer نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hackrf_transfer | tee hackrf_transfer.path
type -a -- hackrf_transfer 2> hackrf_transfer.lookup.err
apropos -- hackrf_transfer | head -n 20
man -f -- hackrf_transfer 2>/dev/null || true
⚠️ ارسال RF فقط در محیط shielded و مطابق مقررات فرکانسی انجام شود.

urhتحلیل Universal Radio Hacker

246میانیفقط لابراتوار

نصب: sudo apt install urh

SYNTAXurh
زیرفرمان / گزینهکاربرد
Record Signalثبت
Interpretationتفسیر
Analysisپیام‌ها
Generatorتولید آزمایشگاهی
Exportخروجی
urh
# File → Record Signal → Interpretation → Analysis → Export

روش پیشنهادی: پیش از اجرای urh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- urh | tee urh.path
type -a -- urh 2> urh.lookup.err
apropos -- urh | head -n 20
man -f -- urh 2>/dev/null || true

gnuradio-companionطراحی flowgraph سیگنال

247میانیفقط لابراتوار

نصب: sudo apt install gnuradio

SYNTAXgnuradio-companion [FILE]
زیرفرمان / گزینهکاربرد
Sourceورودی
Sinkخروجی
Filterفیلتر
Throttleنرخ
Generateتولید Python
Executeاجرا
gnuradio-companion
gnuradio-companion receiver.grc
grpc -d receiver.grc 2>/dev/null || true

روش پیشنهادی: پیش از اجرای gnuradio-companion نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gnuradio-companion | tee gnuradio-companion.path
type -a -- gnuradio-companion 2> gnuradio-companion.lookup.err
apropos -- gnuradio-companion | head -n 20
man -f -- gnuradio-companion 2>/dev/null || true
🔀

20. Redirection، اتصال فرمان‌ها و اتوماسیون

13 ابزار و فرمان

stdout-redirectionهدایت خروجی استاندارد

248میانیپایه

نصب: پیش‌فرض شل

SYNTAXCOMMAND > FILE | COMMAND >> FILE
زیرفرمان / گزینهکاربرد
1>stdout
>بازنویسی
>>افزودن
2>stderr
&>هر دو
/dev/nullدورریزی
nmap -sV TARGET > scan.txt
printf '%s\n' new-line >> notes.txt
command >out.txt 2>err.txt
command &>all.txt

روش پیشنهادی: پیش از اجرای stdout-redirection نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- stdout-redirection | tee stdout-redirection.path
type -a -- stdout-redirection 2> stdout-redirection.lookup.err
apropos -- stdout-redirection | head -n 20
man -f -- stdout-redirection 2>/dev/null || true

stderr-redirectionمدیریت خطا و descriptorها

249میانیپایه

نصب: پیش‌فرض شل

SYNTAXCOMMAND 2> FILE [REDIRECTIONS]
زیرفرمان / گزینهکاربرد
2>خطا
2>&1خطا به stdout
N>descriptor سفارشی
>&Nکپی descriptor
N>&-بستن
find / -name evidence 2>find-errors.log
command >all.log 2>&1
command 3>debug.log; echo debug >&3
exec 3>&-

روش پیشنهادی: پیش از اجرای stderr-redirection نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- stderr-redirection | tee stderr-redirection.path
type -a -- stderr-redirection 2> stderr-redirection.lookup.err
apropos -- stderr-redirection | head -n 20
man -f -- stderr-redirection 2>/dev/null || true

pipesاتصال stdout به stdin

250میانیپایه

نصب: پیش‌فرض شل

SYNTAXCOMMAND1 | COMMAND2
زیرفرمان / گزینهکاربرد
pipeاتصال جریان با نویسه خط عمودی
pipefailکد خطای زنجیره
PIPESTATUSکد هر مرحله
teeانشعاب
sort -uیکتا
nmap -oG - TARGET | awk '/open/{print $2,$4}' | tee open.txt
set -o pipefail
producer | grep pattern | sort -u > result.txt
echo ${PIPESTATUS[@]}

روش پیشنهادی: پیش از اجرای pipes نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pipes | tee pipes.path
type -a -- pipes 2> pipes.lookup.err
apropos -- pipes | head -n 20
man -f -- pipes 2>/dev/null || true

process-substitutionورودی موقت بدون فایل واسط

251میانیپایه

نصب: پیش‌فرض Bash/Zsh

SYNTAXCOMMAND <(COMMAND) | COMMAND >(COMMAND)
زیرفرمان / گزینهکاربرد
<(cmd)ورودی شبه‌فایل
>(cmd)خروجی شبه‌فایل
teeچند مقصد
/dev/fddescriptor
diff -u <(sort old.txt) <(sort new.txt)
comm -12 <(sort a.txt) <(sort b.txt)
tee >(sha256sum > data.sha256) >(wc -c > data.size) < data.bin > /dev/null

روش پیشنهادی: پیش از اجرای process-substitution نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- process-substitution | tee process-substitution.path
type -a -- process-substitution 2> process-substitution.lookup.err
apropos -- process-substitution | head -n 20
man -f -- process-substitution 2>/dev/null || true

heredocورودی چندخطی خوانا

252میانیپایه

نصب: پیش‌فرض شل

SYNTAXCOMMAND <<DELIMITER
زیرفرمان / گزینهکاربرد
<<EOFجایگزینی متغیر
<<'EOF'متن literal
<<-حذف tab
DELIMITERپایان
cat <<'EOF' > scope.md
# Scope
- Target: 192.0.2.10
- Allowed: discovery
EOF
ssh testuser@TARGET 'bash -s' <<'SCRIPT'
hostname
id
SCRIPT

روش پیشنهادی: پیش از اجرای heredoc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- heredoc | tee heredoc.path
type -a -- heredoc 2> heredoc.lookup.err
apropos -- heredoc | head -n 20
man -f -- heredoc 2>/dev/null || true

here-stringارسال یک رشته به stdin

253میانیپایه

نصب: پیش‌فرض Bash/Zsh

SYNTAXCOMMAND <<< STRING
زیرفرمان / گزینهکاربرد
<<<رشته به stdin
readتقسیم فیلد
$'...'escapeها
$(cmd)جایگزینی فرمان
grep -oE '[0-9.]+' <<< 'host=192.0.2.10'
read -r host port <<< 'TARGET 443'
base64 -d <<< 'dGVzdA=='

روش پیشنهادی: پیش از اجرای here-string نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- here-string | tee here-string.path
type -a -- here-string 2> here-string.lookup.err
apropos -- here-string | head -n 20
man -f -- here-string 2>/dev/null || true

mkfifoساخت named pipe

254میانیپایه

نصب: پیش‌فرض سیستم

SYNTAXmkfifo [OPTIONS] NAME
زیرفرمان / گزینهکاربرد
-mمجوز
-Zcontext
NAMEنام pipe
read/writeدو سر جریان
mkfifo events.pipe
tee events.log < events.pipe &
printf '%s\n' 'authorized event' > events.pipe
rm events.pipe

روش پیشنهادی: پیش از اجرای mkfifo نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mkfifo | tee mkfifo.path
type -a -- mkfifo 2> mkfifo.lookup.err
apropos -- mkfifo | head -n 20
man -f -- mkfifo 2>/dev/null || true

spongeنوشتن امن روی همان فایل

255میانیپایه

نصب: sudo apt install moreutils

SYNTAXCOMMAND | sponge FILE
زیرفرمان / گزینهکاربرد
FILEمقصد
-aافزودن
stdinکل ورودی پیش از نوشتن
sort -u hosts.txt | sponge hosts.txt
jq 'sort_by(.name)' results.json | sponge results.json
sed 's/[[:space:]]*$//' notes.txt | sponge notes.txt

روش پیشنهادی: پیش از اجرای sponge نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sponge | tee sponge.path
type -a -- sponge 2> sponge.lookup.err
apropos -- sponge | head -n 20
man -f -- sponge 2>/dev/null || true

stdbufکنترل buffering زنجیره‌ها

256میانیپایه

نصب: پیش‌فرض سیستم

SYNTAXstdbuf [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-oLstdout خطی
-o0بدون buffer
-eLstderr خطی
-i0stdin بدون buffer
stdbuf -oL nmap -sV TARGET | tee live.log
stdbuf -o0 producer | grep pattern
stdbuf -eL command 2> >(tee errors.log >&2)

روش پیشنهادی: پیش از اجرای stdbuf نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- stdbuf | tee stdbuf.path
type -a -- stdbuf 2> stdbuf.lookup.err
apropos -- stdbuf | head -n 20
man -f -- stdbuf 2>/dev/null || true

timeoutمحدودکردن زمان اجرای فرمان

257میانیپایه

نصب: پیش‌فرض سیستم

SYNTAXtimeout [OPTIONS] DURATION COMMAND
زیرفرمان / گزینهکاربرد
DURATIONs/m/h
--signalسیگنال
--kill-afterقتل نهایی
--preserve-statusکد فرمان
124timeout
timeout 30s nmap -sV TARGET
timeout --signal=INT --kill-after=5s 2m long-command
if timeout 5s nc -vz TARGET 443; then echo open; fi

روش پیشنهادی: پیش از اجرای timeout نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- timeout | tee timeout.path
type -a -- timeout 2> timeout.lookup.err
apropos -- timeout | head -n 20
man -f -- timeout 2>/dev/null || true

watchاجرای دوره‌ای و نمایش تغییر

258میانیپایه

نصب: پیش‌فرض سیستم

SYNTAXwatch [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-nفاصله
-dhighlight
-gخروج با تغییر
-xexec مستقیم
-eتوقف با خطا
-tبدون header
watch -n 2 -d 'ss -tulpn'
watch -n 5 -g 'sha256sum evidence.bin'
watch -x systemctl is-active ssh

روش پیشنهادی: پیش از اجرای watch نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- watch | tee watch.path
type -a -- watch 2> watch.lookup.err
apropos -- watch | head -n 20
man -f -- watch 2>/dev/null || true

entrاجرای مجدد هنگام تغییر فایل

259میانیپایه

نصب: sudo apt install entr

SYNTAXFILES | entr [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-cپاک‌کردن
-rrestart
-pاولین تغییر
-sshell
-dردیابی پوشه جدید
find rules -name '*.yar' | entr -c yara -r rules samples/
ls report.md | entr -r pandoc report.md -o report.html
find src -type f | entr -s 'make test'

روش پیشنهادی: پیش از اجرای entr نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- entr | tee entr.path
type -a -- entr 2> entr.lookup.err
apropos -- entr | head -n 20
man -f -- entr 2>/dev/null || true

makeاتوماسیون گردش‌کار تکرارپذیر

260میانیپایه

نصب: sudo apt install make

SYNTAXmake [OPTIONS] [TARGET]
زیرفرمان / گزینهکاربرد
TARGETهدف
-ndry-run
-jموازی
-fMakefile
--always-makeاجبار
-Cپوشه
VARvalue=متغیر
make help
make -n report
make -j2 all
make -f Audit.mk evidence report
make --always-make validate

روش پیشنهادی: پیش از اجرای make نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- make | tee make.path
type -a -- make 2> make.lookup.err
apropos -- make | head -n 20
man -f -- make 2>/dev/null || true
🧩

21. API، WebSocket و سرویس‌های مدرن

13 ابزار و فرمان

httpieکلاینت خوانای HTTP و API

261میانیفعال

نصب: sudo apt install httpie

SYNTAXhttp [METHOD] URL [ITEMS]
زیرفرمان / گزینهکاربرد
METHODGET/POST/...
Header:Valueهدر
fieldvalue=رشته
field:json
--sessionنشست
--downloadدریافت
--printاجزای خروجی
http GET https://TARGET/api/health
http --verify=no POST https://TARGET/api/items name=lab enabled:=true
http --session=lab.json GET https://TARGET/api/profile Authorization:'Bearer TOKEN'

روش پیشنهادی: پیش از اجرای httpie نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- httpie | tee httpie.path
type -a -- httpie 2> httpie.lookup.err
apropos -- httpie | head -n 20
man -f -- httpie 2>/dev/null || true

mitmproxyپروکسی تعاملی HTTP(S) آزمایشگاه

262میانیفعال

نصب: sudo apt install mitmproxy

SYNTAXmitmproxy [OPTIONS]
زیرفرمان / گزینهکاربرد
mitmproxyTUI
mitmwebرابط وب
mitmdumpCLI
-wذخیره flow
-rخواندن
-sاسکریپت
--setگزینه
mitmproxy --listen-host 127.0.0.1 --listen-port 8080
mitmdump -w flows.mitm
mitmdump -r flows.mitm -n
mitmweb --web-host 127.0.0.1

روش پیشنهادی: پیش از اجرای mitmproxy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mitmproxy | tee mitmproxy.path
type -a -- mitmproxy 2> mitmproxy.lookup.err
apropos -- mitmproxy | head -n 20
man -f -- mitmproxy 2>/dev/null || true

grpcurlفراخوانی و introspection سرویس gRPC

263میانیفعال

نصب: نصب binary رسمی grpcurl

SYNTAXgrpcurl [OPTIONS] ADDRESS [SYMBOL]
زیرفرمان / گزینهکاربرد
listفهرست
describeتوصیف
-dJSON
-Hmetadata
-plaintextبدون TLS
-cacertCA
-protoفایل proto
grpcurl -plaintext TARGET:50051 list
grpcurl -plaintext TARGET:50051 describe package.Service
grpcurl -plaintext -d '{"id":1}' TARGET:50051 package.Service/Get

روش پیشنهادی: پیش از اجرای grpcurl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- grpcurl | tee grpcurl.path
type -a -- grpcurl 2> grpcurl.lookup.err
apropos -- grpcurl | head -n 20
man -f -- grpcurl 2>/dev/null || true

websocatکلاینت و پل WebSocket

264میانیفعال

نصب: sudo apt install websocat

SYNTAXwebsocat [OPTIONS] WS_URL
زیرفرمان / گزینهکاربرد
-nخروج پس از EOF
-vجزئیات
--texttext frame
-Hهدر
-Eخروج با close
ws-l:شنونده
websocat ws://TARGET/socket
printf '{"type":"ping"}\n' | websocat -n ws://TARGET/socket
websocat -v --text ws://TARGET/socket 2>websocket.log

روش پیشنهادی: پیش از اجرای websocat نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- websocat | tee websocat.path
type -a -- websocat 2> websocat.lookup.err
apropos -- websocat | head -n 20
man -f -- websocat 2>/dev/null || true

wscatکلاینت WebSocket مبتنی بر Node

265میانیفعال

نصب: sudo npm install -g wscat

SYNTAXwscat [OPTIONS]
زیرفرمان / گزینهکاربرد
-cاتصال
-llisten
-Hهدر
-ssubprotocol
-oorigin
-Pپروکسی
-wwait
wscat -c ws://TARGET/socket
wscat -c wss://TARGET/socket -H 'Authorization: Bearer TOKEN'
wscat -l 8080

روش پیشنهادی: پیش از اجرای wscat نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wscat | tee wscat.path
type -a -- wscat 2> wscat.lookup.err
apropos -- wscat | head -n 20
man -f -- wscat 2>/dev/null || true

newmanاجرای collectionهای Postman

266میانیفعال

نصب: sudo npm install -g newman

SYNTAXnewman run COLLECTION [OPTIONS]
زیرفرمان / گزینهکاربرد
runاجرا
-eenvironment
-ddata
--iteration-countتکرار
--delay-requestفاصله
-rreporter
newman run collection.json -e lab.environment.json
newman run collection.json --iteration-count 2 --delay-request 250
newman run collection.json -r cli,json --reporter-json-export newman.json

روش پیشنهادی: پیش از اجرای newman نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- newman | tee newman.path
type -a -- newman 2> newman.lookup.err
apropos -- newman | head -n 20
man -f -- newman 2>/dev/null || true

jwt-toolبررسی ساختار و تنظیمات JWT

267میانیفعال

نصب: git clone https://github.com/ticarpi/jwt_tool

SYNTAXpython3 jwt_tool.py TOKEN [OPTIONS]
زیرفرمان / گزینهکاربرد
-tURL
-rhهدر
-Mحالت اسکن
-Iدستکاری claim
-pcنام claim
-pvمقدار
--dump-configپیکربندی
python3 jwt_tool.py TOKEN
python3 jwt_tool.py TOKEN -t https://TARGET/api/profile -rh 'Authorization: Bearer TOKEN' -M pb
python3 jwt_tool.py TOKEN -I -pc role -pv viewer

روش پیشنهادی: پیش از اجرای jwt-tool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- jwt-tool | tee jwt-tool.path
type -a -- jwt-tool 2> jwt-tool.lookup.err
apropos -- jwt-tool | head -n 20
man -f -- jwt-tool 2>/dev/null || true
⚠️ فقط tokenهای حساب آزمایشی خودتان را بررسی کنید.

arjunکشف پارامتر HTTP

268میانیفعال

نصب: sudo apt install arjun

SYNTAXarjun [OPTIONS]
زیرفرمان / گزینهکاربرد
-uURL
-iفهرست
-mروش
-tthread
-oJJSON
--headersهدر
--stableپایداری
arjun -u 'https://TARGET/api/search' -m GET -oJ arjun.json
arjun -i urls.txt -m GET,POST -t 5 --stable
arjun -u URL --headers 'Authorization: Bearer TOKEN'

روش پیشنهادی: پیش از اجرای arjun نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- arjun | tee arjun.path
type -a -- arjun 2> arjun.lookup.err
apropos -- arjun | head -n 20
man -f -- arjun 2>/dev/null || true

paramspiderگردآوری URLهای پارامتردار عمومی

269میانیفعال

نصب: pipx install paramspider

SYNTAXparamspider [OPTIONS]
زیرفرمان / گزینهکاربرد
-dدامنه
-lفهرست
-oخروجی
--excludeپسوند
--placeholderجای‌گذار
paramspider -d example.com -o params.txt
paramspider -l domains.txt --exclude woff,css,png
sort -u results/example.com.txt > unique-params.txt

روش پیشنهادی: پیش از اجرای paramspider نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- paramspider | tee paramspider.path
type -a -- paramspider 2> paramspider.lookup.err
apropos -- paramspider | head -n 20
man -f -- paramspider 2>/dev/null || true

kiterunnerکشف routeهای API در محیط مجاز

270میانیفعال

نصب: نصب release رسمی Kiterunner

SYNTAXkr scan TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد
scanwordlist kite
bruteواژه‌نامه متن
wordlist listفهرست
-wwordlist
-xاتصال
-jtarget هم‌زمان
-oقالب
kr wordlist list
kr scan https://TARGET -w routes.kite -x 5 -j 2 -o json -f kr.json
kr brute https://TARGET -w routes.txt -x 5

روش پیشنهادی: پیش از اجرای kiterunner نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kiterunner | tee kiterunner.path
type -a -- kiterunner 2> kiterunner.lookup.err
apropos -- kiterunner | head -n 20
man -f -- kiterunner 2>/dev/null || true

yqپردازش YAML/XML/TOML

271میانیفعال

نصب: sudo apt install yq

SYNTAXyq [OPTIONS] EXPRESSION [FILE]
زیرفرمان / گزینهکاربرد
-oقالب خروجی
-pقالب ورودی
-iویرایش درجا
eval-allچند فایل
-nورودی null
yq '.services | keys' compose.yaml
yq -o=json '.' config.yaml > config.json
yq -i '.scanner.rate = 10' config.yaml
yq eval-all '. as $item ireduce ({}; . * $item)' base.yml override.yml

روش پیشنهادی: پیش از اجرای yq نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- yq | tee yq.path
type -a -- yq 2> yq.lookup.err
apropos -- yq | head -n 20
man -f -- yq 2>/dev/null || true

xmllintاعتبارسنجی و query روی XML

272میانیفعال

نصب: sudo apt install libxml2-utils

SYNTAXxmllint [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
--formatمرتب
--xpathXPath
--schemaXSD
--nooutبدون خروجی
--recoverبازیابی
--nonetبدون شبکه
xmllint --noout --format response.xml
xmllint --xpath 'string(//token)' response.xml
xmllint --schema api.xsd response.xml --noout
xmllint --recover broken.xml > recovered.xml

روش پیشنهادی: پیش از اجرای xmllint نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- xmllint | tee xmllint.path
type -a -- xmllint 2> xmllint.lookup.err
apropos -- xmllint | head -n 20
man -f -- xmllint 2>/dev/null || true

soapuiآزمون SOAP و REST

273میانیفعال

نصب: sudo apt install soapui

SYNTAXsoapui | testrunner.sh [OPTIONS] PROJECT
زیرفرمان / گزینهکاربرد
-ssuite
-ccase
-rگزارش
-jJUnit
-fخروجی
-Pproperty
-Eenvironment
soapui
testrunner.sh -s 'Lab Suite' -c 'Health Check' -r -j -f soapui-out project.xml
testrunner.sh -PbaseUrl=https://TARGET project.xml

روش پیشنهادی: پیش از اجرای soapui نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- soapui | tee soapui.path
type -a -- soapui 2> soapui.lookup.err
apropos -- soapui | head -n 20
man -f -- soapui 2>/dev/null || true
🪟

22. ابزارهای Windows و مدیریت راه‌دور لابراتوار

13 ابزار و فرمان

pwshPowerShell چندسکویی

274میانیفقط لابراتوار

نصب: sudo apt install powershell

SYNTAXpwsh [OPTIONS] [COMMAND]
زیرفرمان / گزینهکاربرد
-Fileاسکریپت
-Commandفرمان
-NoProfileبدون profile
-EncodedCommandفرمان encoded
-NonInteractiveغیرتعاملی
pwsh -NoLogo -NoProfile
pwsh -File audit.ps1 -Target TARGET
pwsh -Command 'Get-FileHash ./evidence.bin -Algorithm SHA256'
pwsh -Command 'ConvertTo-Json (Get-Date)'

روش پیشنهادی: پیش از اجرای pwsh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pwsh | tee pwsh.path
type -a -- pwsh 2> pwsh.lookup.err
apropos -- pwsh | head -n 20
man -f -- pwsh 2>/dev/null || true

impacket-psexecاجرای مدیریتی SMB در VM مجاز

275میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-psexec [OPTIONS] IDENTITY@TARGET
زیرفرمان / گزینهکاربرد
-codecencoding
-service-nameنام سرویس
-remote-binary-nameنام فایل
-debugدیباگ
-hashesاعتبارنامه مجاز
impacket-psexec 'LAB/admin:TestPass!@TARGET' 'whoami'
impacket-psexec -codec utf-8 'LAB/admin:TestPass!@TARGET' 'hostname'

روش پیشنهادی: پیش از اجرای impacket-psexec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-psexec | tee impacket-psexec.path
type -a -- impacket-psexec 2> impacket-psexec.lookup.err
apropos -- impacket-psexec | head -n 20
man -f -- impacket-psexec 2>/dev/null || true
⚠️ به دسترسی مدیریتی نیاز دارد؛ فقط در دامنه آزمایشگاهی اجرا شود.

impacket-wmiexecاجرای WMI نیمه‌تعاملی

276میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-wmiexec [OPTIONS] IDENTITY@TARGET [COMMAND]
زیرفرمان / گزینهکاربرد
-shell-typecmd/powershell
-shareاشتراک
-nooutputبدون output
-codecencoding
-debugدیباگ
impacket-wmiexec 'LAB/admin:TestPass!@TARGET' 'whoami /all'
impacket-wmiexec -shell-type powershell 'LAB/admin:TestPass!@TARGET' 'Get-Date'

روش پیشنهادی: پیش از اجرای impacket-wmiexec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-wmiexec | tee impacket-wmiexec.path
type -a -- impacket-wmiexec 2> impacket-wmiexec.lookup.err
apropos -- impacket-wmiexec | head -n 20
man -f -- impacket-wmiexec 2>/dev/null || true

impacket-atexecاجرای Task Scheduler در لابراتوار

277میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-atexec [OPTIONS] IDENTITY@TARGET COMMAND
زیرفرمان / گزینهکاربرد
-silentcommandبدون retrieval
-session-idنشست
-tstimestamp
-debugدیباگ
-codecencoding
impacket-atexec 'LAB/admin:TestPass!@TARGET' 'whoami'
impacket-atexec -silentcommand 'LAB/admin:TestPass!@TARGET' 'cmd /c hostname > C:\Windows\Temp\audit.txt'

روش پیشنهادی: پیش از اجرای impacket-atexec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-atexec | tee impacket-atexec.path
type -a -- impacket-atexec 2> impacket-atexec.lookup.err
apropos -- impacket-atexec | head -n 20
man -f -- impacket-atexec 2>/dev/null || true

impacket-dcomexecاجرای DCOM در لابراتوار

278میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-dcomexec [OPTIONS] IDENTITY@TARGET [COMMAND]
زیرفرمان / گزینهکاربرد
-objectروش DCOM
-shell-typeنوع شل
-nooutputبدون خروجی
-debugدیباگ
-codecencoding
impacket-dcomexec -object MMC20 'LAB/admin:TestPass!@TARGET' 'whoami'
impacket-dcomexec -object ShellWindows 'LAB/admin:TestPass!@TARGET' 'hostname'

روش پیشنهادی: پیش از اجرای impacket-dcomexec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-dcomexec | tee impacket-dcomexec.path
type -a -- impacket-dcomexec 2> impacket-dcomexec.lookup.err
apropos -- impacket-dcomexec | head -n 20
man -f -- impacket-dcomexec 2>/dev/null || true

impacket-smbserverاشتراک SMB موقت آزمایشگاه

279میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-smbserver [OPTIONS] SHARE PATH
زیرفرمان / گزینهکاربرد
-smb2supportSMB2
-read-onlyفقط خواندن
-username/-passwordاحراز
-ipbind
-portپورت
impacket-smbserver -smb2support -read-only SHARE "$PWD"
impacket-smbserver -smb2support -username lab -password 'TestPass!' SHARE files/

روش پیشنهادی: پیش از اجرای impacket-smbserver نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-smbserver | tee impacket-smbserver.path
type -a -- impacket-smbserver 2> impacket-smbserver.lookup.err
apropos -- impacket-smbserver | head -n 20
man -f -- impacket-smbserver 2>/dev/null || true

impacket-rdp-checkبررسی دسترسی RDP حساب آزمایشی

280میانیفقط لابراتوار

نصب: sudo apt install python3-impacket

SYNTAXimpacket-rdp_check [OPTIONS] IDENTITY@TARGET
زیرفرمان / گزینهکاربرد
-debugدیباگ
-hashesهش مجاز
-no-passبدون prompt
-kKerberos
-dc-ipکنترلر
impacket-rdp_check 'LAB/testuser:TestPass!@TARGET'
impacket-rdp_check -debug 'LAB/testuser:TestPass!@TARGET'

روش پیشنهادی: پیش از اجرای impacket-rdp-check نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- impacket-rdp-check | tee impacket-rdp-check.path
type -a -- impacket-rdp-check 2> impacket-rdp-check.lookup.err
apropos -- impacket-rdp-check | head -n 20
man -f -- impacket-rdp-check 2>/dev/null || true

kerbruteبررسی Kerberos با حساب‌های آزمایشگاهی

281میانیفقط لابراتوار

نصب: نصب release رسمی Kerbrute

SYNTAXkerbrute COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
userenumکاربران
passwordsprayیک رمز
bruteuserیک کاربر
bruteforceدو فهرست
-dدامنه
--dcکنترلر
kerbrute userenum -d lab.test --dc DC_IP test-users.txt
kerbrute passwordspray -d lab.test --dc DC_IP test-users.txt 'TestPass!'
kerbrute bruteuser -d lab.test --dc DC_IP lab-passwords.txt testuser

روش پیشنهادی: پیش از اجرای kerbrute نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kerbrute | tee kerbrute.path
type -a -- kerbrute 2> kerbrute.lookup.err
apropos -- kerbrute | head -n 20
man -f -- kerbrute 2>/dev/null || true
⚠️ نرخ و lockout policy را پیش از اجرا بررسی کنید.

windapsearchپرس‌وجوی LDAP محیط Windows

282میانیفقط لابراتوار

نصب: pipx install windapsearch

SYNTAXwindapsearch [OPTIONS]
زیرفرمان / گزینهکاربرد
--dcکنترلر
-dدامنه
-u/-pاعتبارنامه
--usersکاربران
--groupsگروه‌ها
--daDomain Admins
windapsearch -d lab.test --dc DC_IP -u 'LAB\testuser' -p 'TestPass!' --users
windapsearch -d lab.test --dc DC_IP -u USER -p PASS --groups
windapsearch -d lab.test --dc DC_IP -u USER -p PASS --da

روش پیشنهادی: پیش از اجرای windapsearch نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- windapsearch | tee windapsearch.path
type -a -- windapsearch 2> windapsearch.lookup.err
apropos -- windapsearch | head -n 20
man -f -- windapsearch 2>/dev/null || true

pywerviewپرس‌وجوی ساختاریافته Active Directory

283میانیفقط لابراتوار

نصب: pipx install pywerview

SYNTAXpywerview COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
get-netdomainدامنه
get-netuserکاربر
get-netgroupگروه
get-netcomputerرایانه
-wدامنه
-tهدف
pywerview get-netdomain -w lab.test -t DC_IP -u testuser -p 'TestPass!'
pywerview get-netuser -w lab.test -t DC_IP -u testuser -p 'TestPass!' --username testuser
pywerview get-netgroup -w lab.test -t DC_IP -u testuser -p 'TestPass!'

روش پیشنهادی: پیش از اجرای pywerview نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pywerview | tee pywerview.path
type -a -- pywerview 2> pywerview.lookup.err
apropos -- pywerview | head -n 20
man -f -- pywerview 2>/dev/null || true

coercerممیزی سطح RPC coercion در لابراتوار

284میانیفقط لابراتوار

نصب: pipx install coercer

SYNTAXcoercer COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
scanشناسایی
coerceآزمون فعال
-tهدف
-fفهرست
-u/-pاعتبارنامه
--filter-protocol-nameفیلتر
coercer scan -t TARGET -u testuser -p 'TestPass!' -d lab.test
coercer scan -f hosts.txt -u testuser -p 'TestPass!' -d lab.test --filter-protocol-name MS-RPRN

روش پیشنهادی: پیش از اجرای coercer نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- coercer | tee coercer.path
type -a -- coercer 2> coercer.lookup.err
apropos -- coercer | head -n 20
man -f -- coercer 2>/dev/null || true
⚠️ ابتدا scan اجرا کنید؛ آزمون فعال فقط با مجوز و listener کنترل‌شده.

samba-toolمدیریت و بررسی دامنه Samba AD

285میانیفقط لابراتوار

نصب: sudo apt install samba-common-bin

SYNTAXsamba-tool OBJECT COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
domainدامنه
userکاربر
groupگروه
dnsDNS
drsreplication
-HURL
-Uهویت
samba-tool domain info DC_IP
samba-tool user list -H ldap://DC -U 'LAB/testuser'
samba-tool group listmembers 'Domain Admins' -H ldap://DC -U 'LAB/testuser'

روش پیشنهادی: پیش از اجرای samba-tool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- samba-tool | tee samba-tool.path
type -a -- samba-tool 2> samba-tool.lookup.err
apropos -- samba-tool | head -n 20
man -f -- samba-tool 2>/dev/null || true

regipyتحلیل آفلاین Windows Registry

286میانیفقط لابراتوار

نصب: pipx install regipy

SYNTAXregipy-COMMAND [OPTIONS] HIVE
زیرفرمان / گزینهکاربرد
regipy-parse-headerheader
regipy-dumpخروجی
regipy-plugins-runplugin
regipy-diffتفاوت
-oخروجی
regipy-parse-header NTUSER.DAT
regipy-dump SYSTEM -o system.json
regipy-plugins-run NTUSER.DAT -o plugins.json
regipy-diff before.dat after.dat -o diff.json

روش پیشنهادی: پیش از اجرای regipy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. فقط در لابراتوار ایزوله یا CTF با حساب آزمایشی اجرا کنید و snapshot بازگشت داشته باشید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- regipy | tee regipy.path
type -a -- regipy 2> regipy.lookup.err
apropos -- regipy | head -n 20
man -f -- regipy 2>/dev/null || true
🔏

23. رمزنگاری، کلید و PKI

13 ابزار و فرمان

gpgرمزنگاری و امضای OpenPGP

287میانیتحلیل

نصب: sudo apt install gnupg

SYNTAXgpg [OPTIONS] COMMAND [FILES]
زیرفرمان / گزینهکاربرد
--quick-generate-keyساخت
--list-keysفهرست
--encryptرمز
--decryptبازکردن
--detach-signامضا
--verifyبررسی
gpg --quick-generate-key 'Lab Analyst <analyst@example.test>' ed25519 sign 1y
gpg --detach-sign --armor report.md
gpg --verify report.md.asc report.md
gpg --encrypt --recipient analyst@example.test evidence.tar

روش پیشنهادی: پیش از اجرای gpg نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gpg | tee gpg.path
type -a -- gpg 2> gpg.lookup.err
apropos -- gpg | head -n 20
man -f -- gpg 2>/dev/null || true

ageرمزنگاری فایل ساده و مدرن

288میانیتحلیل

نصب: sudo apt install age

SYNTAXage [OPTIONS] [FILE]
زیرفرمان / گزینهکاربرد
age-keygenکلید
-rگیرنده
-Rفایل گیرندگان
-iهویت
-dرمزگشایی
-ppassphrase
age-keygen -o lab.agekey
age-keygen -y lab.agekey > lab.agepub
age -r $(cat lab.agepub) -o evidence.tar.age evidence.tar
age -d -i lab.agekey -o evidence.tar evidence.tar.age

روش پیشنهادی: پیش از اجرای age نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- age | tee age.path
type -a -- age 2> age.lookup.err
apropos -- age | head -n 20
man -f -- age 2>/dev/null || true

minisignامضای کوچک و مستقل فایل

289میانیتحلیل

نصب: sudo apt install minisign

SYNTAXminisign [OPTIONS]
زیرفرمان / گزینهکاربرد
-Gساخت کلید
-Sامضا
-Vبررسی
-sکلید خصوصی
-pفایل عمومی
-Pکلید متنی
-mپیام
minisign -G -p lab.pub -s lab.key
minisign -S -s lab.key -m report.html
minisign -V -p lab.pub -m report.html
minisign -V -P PUBLIC_KEY -m artifact.bin

روش پیشنهادی: پیش از اجرای minisign نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- minisign | tee minisign.path
type -a -- minisign 2> minisign.lookup.err
apropos -- minisign | head -n 20
man -f -- minisign 2>/dev/null || true

opensslجعبه‌ابزار رمزنگاری و گواهی

290میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXopenssl COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
versionنسخه
dgstهش
randتصادفی
x509گواهی
verifyزنجیره
pkeyکلید
reqCSR
encرمز متقارن
openssl version -a
openssl dgst -sha256 evidence.bin
openssl rand -hex 32
openssl x509 -in cert.pem -noout -subject -issuer -dates -fingerprint -sha256
openssl verify -CAfile ca.pem cert.pem

روش پیشنهادی: پیش از اجرای openssl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- openssl | tee openssl.path
type -a -- openssl 2> openssl.lookup.err
apropos -- openssl | head -n 20
man -f -- openssl 2>/dev/null || true

ssh-keygenساخت و بررسی کلید SSH

291میانیتحلیل

نصب: sudo apt install openssh-client

SYNTAXssh-keygen [OPTIONS]
زیرفرمان / گزینهکاربرد
-tنوع
-around
-Ccomment
-fفایل
-lfingerprint
-Fجست‌وجوی host
-Rحذف host
-yکلید عمومی
ssh-keygen -t ed25519 -a 64 -C 'lab analyst' -f ~/.ssh/lab_ed25519
ssh-keygen -lf ~/.ssh/lab_ed25519.pub
ssh-keygen -F TARGET -f ~/.ssh/known_hosts
ssh-keygen -R TARGET

روش پیشنهادی: پیش از اجرای ssh-keygen نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ssh-keygen | tee ssh-keygen.path
type -a -- ssh-keygen 2> ssh-keygen.lookup.err
apropos -- ssh-keygen | head -n 20
man -f -- ssh-keygen 2>/dev/null || true

ssh-agentمدیریت حافظه‌ای کلید SSH

292میانیتحلیل

نصب: sudo apt install openssh-client

SYNTAXssh-agent [OPTIONS] [COMMAND]
زیرفرمان / گزینهکاربرد
-sخروجی sh
-cخروجی csh
-tعمر کلید
-kپایان agent
COMMANDاجرای محدود
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/lab_ed25519
ssh-add -l
ssh-add -D
ssh-agent -k

روش پیشنهادی: پیش از اجرای ssh-agent نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ssh-agent | tee ssh-agent.path
type -a -- ssh-agent 2> ssh-agent.lookup.err
apropos -- ssh-agent | head -n 20
man -f -- ssh-agent 2>/dev/null || true

ssh-addافزودن و حذف کلید از agent

293میانیتحلیل

نصب: sudo apt install openssh-client

SYNTAXssh-add [OPTIONS] [FILES]
زیرفرمان / گزینهکاربرد
-tعمر
-lfingerprint
-Lکلید عمومی
-dحذف یک
-Dحذف همه
-cتأیید برای استفاده
ssh-add -t 1h ~/.ssh/lab_ed25519
ssh-add -l
ssh-add -L
ssh-add -d ~/.ssh/lab_ed25519
ssh-add -D

روش پیشنهادی: پیش از اجرای ssh-add نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ssh-add | tee ssh-add.path
type -a -- ssh-add 2> ssh-add.lookup.err
apropos -- ssh-add | head -n 20
man -f -- ssh-add 2>/dev/null || true

certtoolساخت و بررسی X.509 با GnuTLS

294میانیتحلیل

نصب: sudo apt install gnutls-bin

SYNTAXcerttool [OPTIONS]
زیرفرمان / گزینهکاربرد
--certificate-infoجزئیات
--verifyبررسی
--generate-privkeyکلید
--generate-requestCSR
--infile/--outfileفایل
certtool --certificate-info --infile cert.pem
certtool --verify --infile chain.pem --load-ca-certificate ca.pem
certtool --generate-privkey --outfile lab.key
certtool --generate-request --load-privkey lab.key --outfile lab.csr

روش پیشنهادی: پیش از اجرای certtool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- certtool | tee certtool.path
type -a -- certtool 2> certtool.lookup.err
apropos -- certtool | head -n 20
man -f -- certtool 2>/dev/null || true

cfsslابزار JSONمحور PKI

295میانیتحلیل

نصب: نصب release رسمی CFSSL

SYNTAXcfssl COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
certinfoجزئیات
genkeyکلید و CSR
gencertگواهی
bundleزنجیره
serveAPI محلی
cfssljsonنوشتن فایل
cfssl certinfo -cert cert.pem | jq .
cfssl genkey csr.json | cfssljson -bare lab
cfssl gencert -initca ca-csr.json | cfssljson -bare ca
cfssl bundle -cert cert.pem -ca-bundle ca.pem

روش پیشنهادی: پیش از اجرای cfssl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cfssl | tee cfssl.path
type -a -- cfssl 2> cfssl.lookup.err
apropos -- cfssl | head -n 20
man -f -- cfssl 2>/dev/null || true

step-cliمدیریت certificate و token

296میانیتحلیل

نصب: نصب از مخزن رسمی Smallstep

SYNTAXstep COMMAND SUBCOMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
certificate inspectجزئیات
certificate verifyبررسی
crypto hashهش
crypto jwt inspectJWT
base64کدگذاری
step certificate inspect cert.pem --short
step certificate verify cert.pem --roots ca.pem
step crypto hash evidence.bin
step crypto jwt inspect --insecure TOKEN

روش پیشنهادی: پیش از اجرای step-cli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- step-cli | tee step-cli.path
type -a -- step-cli 2> step-cli.lookup.err
apropos -- step-cli | head -n 20
man -f -- step-cli 2>/dev/null || true

mkcertCA محلی برای لابراتوار

297میانیتحلیل

نصب: sudo apt install mkcert

SYNTAXmkcert [OPTIONS] NAMES
زیرفرمان / گزینهکاربرد
-installنصب CA
-cert-fileگواهی
-key-fileکلید
-CAROOTمسیر CA
-uninstallحذف
mkcert -install
mkcert -cert-file lab.crt -key-file lab.key lab.test localhost 127.0.0.1
mkcert -CAROOT
mkcert -uninstall

روش پیشنهادی: پیش از اجرای mkcert نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mkcert | tee mkcert.path
type -a -- mkcert 2> mkcert.lookup.err
apropos -- mkcert | head -n 20
man -f -- mkcert 2>/dev/null || true

base64کدگذاری و decode داده

298میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXbase64 [OPTIONS] [FILE]
زیرفرمان / گزینهکاربرد
-ddecode
-wعرض خط
-iنادیده‌گرفتن نویسه نامعتبر
stdinورودی
base64 -w0 evidence.bin > evidence.b64
base64 -d evidence.b64 > restored.bin
cmp evidence.bin restored.bin
printf '%s' 'lab:data' | base64 | base64 -d

روش پیشنهادی: پیش از اجرای base64 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- base64 | tee base64.path
type -a -- base64 2> base64.lookup.err
apropos -- base64 | head -n 20
man -f -- base64 2>/dev/null || true

b2sumهش BLAKE2

299میانیتحلیل

نصب: پیش‌فرض سیستم

SYNTAXb2sum [OPTIONS] FILES
زیرفرمان / گزینهکاربرد
-cبررسی
-lطول digest
-bباینری
--tagقالب BSD
--zeroNUL
b2sum evidence.bin | tee evidence.b2
b2sum -c evidence.b2
find evidence -type f -print0 | sort -z | xargs -0 b2sum > B2SUMS

روش پیشنهادی: پیش از اجرای b2sum نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- b2sum | tee b2sum.path
type -a -- b2sum 2> b2sum.lookup.err
apropos -- b2sum | head -n 20
man -f -- b2sum 2>/dev/null || true
💽

24. دیسک، image، رمزنگاری و بازیابی

13 ابزار و فرمان

lsblkنمایش درخت دیسک و filesystem

300میانیکنترل‌شده

نصب: پیش‌فرض سیستم

SYNTAXlsblk [OPTIONS] [DEVICE]
زیرفرمان / گزینهکاربرد
-ffilesystem
-oستون
-JJSON
-SSCSI
-pمسیر کامل
-bبایت
-eحذف major
lsblk -o NAME,PATH,SIZE,TYPE,FSTYPE,FSVER,LABEL,UUID,MOUNTPOINTS,RO
lsblk -f
lsblk -J > lsblk.json
lsblk -S

روش پیشنهادی: پیش از اجرای lsblk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- lsblk | tee lsblk.path
type -a -- lsblk 2> lsblk.lookup.err
apropos -- lsblk | head -n 20
man -f -- lsblk 2>/dev/null || true

blkidشناسه filesystem و پارتیشن

301میانیکنترل‌شده

نصب: پیش‌فرض سیستم

SYNTAXblkid [OPTIONS] [DEVICE]
زیرفرمان / گزینهکاربرد
-stag
-oقالب
-pprobe
-tفیلتر
-Llabel
-UUUID
sudo blkid
blkid -s TYPE -s UUID -o export /dev/loop0p1
blkid -p -o udev evidence.img

روش پیشنهادی: پیش از اجرای blkid نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- blkid | tee blkid.path
type -a -- blkid 2> blkid.lookup.err
apropos -- blkid | head -n 20
man -f -- blkid 2>/dev/null || true

mountmount کنترل‌شده و فقط‌خواندنی

302میانیکنترل‌شده

نصب: پیش‌فرض سیستم

SYNTAXmount [OPTIONS] SOURCE TARGET
زیرفرمان / گزینهکاربرد
-o roفقط خواندن
looploop device
noexecبدون اجرا
nodevبدون device
nosuidبدون suid
-tنوع
sudo mount -o ro,noload /dev/loop0p1 /mnt/evidence
sudo mount -o ro,loop,noexec,nodev,nosuid image.iso /mnt/image
findmnt /mnt/evidence

روش پیشنهادی: پیش از اجرای mount نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mount | tee mount.path
type -a -- mount 2> mount.lookup.err
apropos -- mount | head -n 20
man -f -- mount 2>/dev/null || true

umountجداکردن filesystem

303میانیکنترل‌شده

نصب: پیش‌فرض سیستم

SYNTAXumount [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-Rبازگشتی
-llazy
-fاجباری شبکه
-vجزئیات
-aهمه مطابق فیلتر
sync
sudo umount /mnt/evidence
sudo umount -R /mnt/lab
findmnt /mnt/evidence || echo unmounted

روش پیشنهادی: پیش از اجرای umount نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- umount | tee umount.path
type -a -- umount 2> umount.lookup.err
apropos -- umount | head -n 20
man -f -- umount 2>/dev/null || true

losetupاتصال image به loop device

304میانیکنترل‌شده

نصب: پیش‌فرض سیستم

SYNTAXlosetup [OPTIONS]
زیرفرمان / گزینهکاربرد
--findآزاد
--showنمایش
--read-onlyفقط‌خواندنی
--partscanپارتیشن
-ddetach
-aفهرست
LOOP=$(sudo losetup --find --show --read-only --partscan evidence.img)
echo "$LOOP"
lsblk "$LOOP"
sudo losetup -d "$LOOP"

روش پیشنهادی: پیش از اجرای losetup نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- losetup | tee losetup.path
type -a -- losetup 2> losetup.lookup.err
apropos -- losetup | head -n 20
man -f -- losetup 2>/dev/null || true

kpartxساخت map پارتیشن‌های image

305میانیکنترل‌شده

نصب: sudo apt install kpartx

SYNTAXkpartx [OPTIONS] DEVICE
زیرفرمان / گزینهکاربرد
-aافزودن
-dحذف
-vجزئیات
-rفقط‌خواندنی
-ssync
sudo kpartx -av evidence.img
ls -l /dev/mapper/loop*p*
sudo mount -o ro /dev/mapper/loop0p1 /mnt/evidence
sudo umount /mnt/evidence && sudo kpartx -dv evidence.img

روش پیشنهادی: پیش از اجرای kpartx نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kpartx | tee kpartx.path
type -a -- kpartx 2> kpartx.lookup.err
apropos -- kpartx | head -n 20
man -f -- kpartx 2>/dev/null || true

ddrescueتصویربرداری مقاوم از رسانه معیوب

306میانیکنترل‌شده

نصب: sudo apt install gddrescue

SYNTAXddrescue [OPTIONS] INFILE OUTFILE MAPFILE
زیرفرمان / گزینهکاربرد
-nعبور اول بدون retry
-ddirect I/O
-rretry
-fبازنویسی output
-Rمعکوس
-sاندازه
MAPFILEادامه‌پذیری
sudo ddrescue -f -n /dev/sdX evidence.img evidence.map
sudo ddrescue -d -r3 /dev/sdX evidence.img evidence.map
sha256sum evidence.img > evidence.img.sha256
ddrescueview evidence.map

روش پیشنهادی: پیش از اجرای ddrescue نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ddrescue | tee ddrescue.path
type -a -- ddrescue 2> ddrescue.lookup.err
apropos -- ddrescue | head -n 20
man -f -- ddrescue 2>/dev/null || true

testdiskبازیابی پارتیشن و فایل‌سیستم

307میانیکنترل‌شده

نصب: sudo apt install testdisk

SYNTAXtestdisk [OPTIONS] [IMAGE]
زیرفرمان / گزینهکاربرد
/logثبت
/listفهرست
Analyseتحلیل
Quick Searchجست‌وجوی سریع
Deeper Searchعمیق
Listفایل‌ها
testdisk /log evidence.img
# Analyse → Quick Search → Deeper Search → List
testdisk /list evidence.img

روش پیشنهادی: پیش از اجرای testdisk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- testdisk | tee testdisk.path
type -a -- testdisk 2> testdisk.lookup.err
apropos -- testdisk | head -n 20
man -f -- testdisk 2>/dev/null || true

fdiskبررسی جدول پارتیشن

308میانیکنترل‌شده

نصب: پیش‌فرض سیستم

SYNTAXfdisk [OPTIONS] DEVICE
زیرفرمان / گزینهکاربرد
-lفهرست
-oستون
-xجزئیات
-uواحد sector
-bsector size
pچاپ داخل interactive
sudo fdisk -l evidence.img
sudo fdisk -l -o Device,Start,End,Sectors,Size,Type /dev/loop0
fdisk -x evidence.img

روش پیشنهادی: پیش از اجرای fdisk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- fdisk | tee fdisk.path
type -a -- fdisk 2> fdisk.lookup.err
apropos -- fdisk | head -n 20
man -f -- fdisk 2>/dev/null || true

partedبررسی GPT/MBR و offset

309میانیکنترل‌شده

نصب: پیش‌فرض سیستم

SYNTAXparted [OPTIONS] DEVICE [COMMAND]
زیرفرمان / گزینهکاربرد
-sscript
-mmachine
unit ssector
printجدول
print freeفضای آزاد
align-checkalignment
sudo parted -s evidence.img unit s print
sudo parted /dev/loop0 print free
sudo parted -m evidence.img unit B print > partitions.txt

روش پیشنهادی: پیش از اجرای parted نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- parted | tee parted.path
type -a -- parted 2> parted.lookup.err
apropos -- parted | head -n 20
man -f -- parted 2>/dev/null || true

gdiskبررسی و بازیابی GPT

310میانیکنترل‌شده

نصب: sudo apt install gdisk

SYNTAXgdisk [OPTIONS] DEVICE
زیرفرمان / گزینهکاربرد
gdisk -lفهرست
sgdisk -pچاپ
sgdisk -vverify
--backupپشتیبان GPT
--load-backupبازگردانی
sudo gdisk -l evidence.img
sudo sgdisk -p evidence.img
sudo sgdisk -v evidence.img
sudo sgdisk --backup=gpt.bin /dev/sdX

روش پیشنهادی: پیش از اجرای gdisk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gdisk | tee gdisk.path
type -a -- gdisk 2> gdisk.lookup.err
apropos -- gdisk | head -n 20
man -f -- gdisk 2>/dev/null || true

cryptsetupمدیریت LUKS در رسانه خودتان

311میانیکنترل‌شده

نصب: sudo apt install cryptsetup

SYNTAXcryptsetup ACTION [OPTIONS] DEVICE
زیرفرمان / گزینهکاربرد
luksDumpheader
luksOpenبازکردن
closeبستن
statusوضعیت
--readonlyفقط‌خواندنی
luksHeaderBackupپشتیبان header
sudo cryptsetup luksDump encrypted.img
sudo cryptsetup luksOpen --readonly encrypted.img evidence_crypt
sudo mount -o ro /dev/mapper/evidence_crypt /mnt/evidence
sudo umount /mnt/evidence && sudo cryptsetup close evidence_crypt

روش پیشنهادی: پیش از اجرای cryptsetup نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cryptsetup | tee cryptsetup.path
type -a -- cryptsetup 2> cryptsetup.lookup.err
apropos -- cryptsetup | head -n 20
man -f -- cryptsetup 2>/dev/null || true

lvmمدیریت Logical Volume

312میانیکنترل‌شده

نصب: sudo apt install lvm2

SYNTAXLVM_COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
pvsphysical
vgsvolume group
lvslogical
vgchangeفعال‌سازی
lvdisplayجزئیات
--readonlyفقط خواندن
sudo pvs --readonly
sudo vgs --readonly
sudo lvs -a -o +devices
sudo vgchange -ay --readonly VG
sudo lvdisplay /dev/VG/LV

روش پیشنهادی: پیش از اجرای lvm نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- lvm | tee lvm.path
type -a -- lvm 2> lvm.lookup.err
apropos -- lvm | head -n 20
man -f -- lvm 2>/dev/null || true
✉️

25. ایمیل، SMTP/IMAP و تحلیل پیام

13 ابزار و فرمان

msmtpارسال SMTP سبک با پیکربندی حساب آزمایشی

313میانیکنترل‌شده

نصب: sudo apt install msmtp msmtp-mta

SYNTAXmsmtp [OPTIONS] RECIPIENT
زیرفرمان / گزینهکاربرد
--accountحساب
--hostسرور
--portپورت
--tlsTLS
--serverinfoقابلیت‌ها
--pretendنمایش بدون ارسال
printf 'Subject: Lab report

Completed
' | msmtp --account=lab analyst@example.test
msmtp --serverinfo --host smtp.example.test --port 587 --tls
msmtp --pretend analyst@example.test

روش پیشنهادی: پیش از اجرای msmtp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- msmtp | tee msmtp.path
type -a -- msmtp 2> msmtp.lookup.err
apropos -- msmtp | head -n 20
man -f -- msmtp 2>/dev/null || true

neomuttکلاینت متنی ایمیل و mailbox

314میانیکنترل‌شده

نصب: sudo apt install neomutt

SYNTAXneomutt [OPTIONS] [ADDRESS]
زیرفرمان / گزینهکاربرد
-fmailbox
-Rفقط‌خواندنی
-sموضوع
-aپیوست
-Dپیکربندی
-Fفایل config
neomutt -f evidence.mbox
neomutt -R -f evidence.mbox
printf 'Body
' | neomutt -s 'Lab note' analyst@example.test
neomutt -D > effective-config.txt

روش پیشنهادی: پیش از اجرای neomutt نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- neomutt | tee neomutt.path
type -a -- neomutt 2> neomutt.lookup.err
apropos -- neomutt | head -n 20
man -f -- neomutt 2>/dev/null || true

imapfilterقواعد خودکار IMAP

315میانیکنترل‌شده

نصب: sudo apt install imapfilter

SYNTAXimapfilter [OPTIONS]
زیرفرمان / گزینهکاربرد
-cپیکربندی
-vجزئیات
-ddebug
-llog
-tاعتماد TLS
--versionنسخه
imapfilter -c lab.lua -v
imapfilter -c lab.lua -d
timeout 60s imapfilter -c audit.lua >imapfilter.log 2>&1

روش پیشنهادی: پیش از اجرای imapfilter نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- imapfilter | tee imapfilter.path
type -a -- imapfilter 2> imapfilter.lookup.err
apropos -- imapfilter | head -n 20
man -f -- imapfilter 2>/dev/null || true

offlineimapهمگام‌سازی IMAP به Maildir

316میانیکنترل‌شده

نصب: sudo apt install offlineimap3

SYNTAXofflineimap [OPTIONS]
زیرفرمان / گزینهکاربرد
-cپیکربندی
-aaccount
-ffolder
-qسریع
--infoاطلاعات repository
-ddebug
offlineimap -c offlineimaprc --info
offlineimap -c offlineimaprc -a Lab -q
timeout 10m offlineimap -c offlineimaprc -a Lab | tee sync.log

روش پیشنهادی: پیش از اجرای offlineimap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- offlineimap | tee offlineimap.path
type -a -- offlineimap 2> offlineimap.lookup.err
apropos -- offlineimap | head -n 20
man -f -- offlineimap 2>/dev/null || true

mbsyncهمگام‌سازی IMAP/Maildir با isync

317میانیکنترل‌شده

نصب: sudo apt install isync

SYNTAXmbsync [OPTIONS] CHANNEL
زیرفرمان / گزینهکاربرد
--listفهرست
-ndry-run
-Vجزئیات
-aهمه
-cپیکربندی
-Ddebug شبکه
mbsync --list Lab
mbsync -n Lab
mbsync -V Lab | tee mbsync.log
mbsync -a

روش پیشنهادی: پیش از اجرای mbsync نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mbsync | tee mbsync.path
type -a -- mbsync 2> mbsync.lookup.err
apropos -- mbsync | head -n 20
man -f -- mbsync 2>/dev/null || true

doveadmمدیریت و جست‌وجوی Dovecot محلی

318میانیکنترل‌شده

نصب: sudo apt install dovecot-core

SYNTAXdoveadm COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
whoنشست‌ها
mailbox listپوشه‌ها
searchجست‌وجو
fetchخواندن
indexایندکس
-uکاربر
sudo doveadm who
sudo doveadm mailbox list -u labuser
sudo doveadm search -u labuser mailbox INBOX subject audit
sudo doveadm fetch -u labuser 'hdr.from hdr.subject' mailbox INBOX all

روش پیشنهادی: پیش از اجرای doveadm نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- doveadm | tee doveadm.path
type -a -- doveadm 2> doveadm.lookup.err
apropos -- doveadm | head -n 20
man -f -- doveadm 2>/dev/null || true

postconfبازبینی پیکربندی Postfix

319میانیکنترل‌شده

نصب: sudo apt install postfix

SYNTAXpostconf [OPTIONS] [PARAMETERS]
زیرفرمان / گزینهکاربرد
-nغیرپیش‌فرض
-dپیش‌فرض
-Mسرویس‌ها
-hمقدار خام
-eویرایش
PARAMETERپارامتر
postconf -n | tee postfix-effective.txt
postconf smtpd_tls_security_level mynetworks
postconf -M
postconf -h mail_version

روش پیشنهادی: پیش از اجرای postconf نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- postconf | tee postconf.path
type -a -- postconf 2> postconf.lookup.err
apropos -- postconf | head -n 20
man -f -- postconf 2>/dev/null || true

postsuperمدیریت صف Postfix

320میانیکنترل‌شده

نصب: sudo apt install postfix

SYNTAXpostsuper [OPTIONS] [QUEUE_ID]
زیرفرمان / گزینهکاربرد
-hhold
-Hrelease
-rrequeue
-dحذف
-pپاک‌سازی موقت
ALLهمه
mailq
sudo postsuper -h QUEUE_ID
sudo postsuper -H QUEUE_ID
sudo postsuper -r QUEUE_ID

روش پیشنهادی: پیش از اجرای postsuper نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- postsuper | tee postsuper.path
type -a -- postsuper 2> postsuper.lookup.err
apropos -- postsuper | head -n 20
man -f -- postsuper 2>/dev/null || true
⚠️ حذف یا requeue را فقط پس از ثبت شناسه و علت انجام دهید.

pflogsummخلاصه‌سازی log ایمیل Postfix

321میانیکنترل‌شده

نصب: sudo apt install pflogsumm

SYNTAXpflogsumm [OPTIONS] LOGFILE
زیرفرمان / گزینهکاربرد
-dامروز یا دیروز
--problems-firstخطاها اول
--verbose-msg-detailجزئیات
--smtpd-statsSMTPD
-hراهنما
pflogsumm /var/log/mail.log | tee mail-summary.txt
zcat /var/log/mail.log.2.gz | pflogsumm -d yesterday
pflogsumm --problems-first --verbose-msg-detail /var/log/mail.log

روش پیشنهادی: پیش از اجرای pflogsumm نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pflogsumm | tee pflogsumm.path
type -a -- pflogsumm 2> pflogsumm.lookup.err
apropos -- pflogsumm | head -n 20
man -f -- pflogsumm 2>/dev/null || true

ripmimeاستخراج MIME و پیوست آفلاین

322میانیکنترل‌شده

نصب: sudo apt install ripmime

SYNTAXripmime [OPTIONS]
زیرفرمان / گزینهکاربرد
-iپیام
-dپوشه
--name-by-typeنام نوع
--no-namelessحذف بی‌نام
--verbose-contenttypeنوع MIME
mkdir -p extracted && ripmime -i message.eml -d extracted
ripmime -i message.eml -d extracted --name-by-type
find extracted -type f -print0 | xargs -0 sha256sum > attachments.sha256

روش پیشنهادی: پیش از اجرای ripmime نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ripmime | tee ripmime.path
type -a -- ripmime 2> ripmime.lookup.err
apropos -- ripmime | head -n 20
man -f -- ripmime 2>/dev/null || true

munpackاستخراج پیوست MIME

323میانیکنترل‌شده

نصب: sudo apt install mpack

SYNTAXmunpack [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-fبازنویسی
-qساکت
-tنوشتن متن
-Cپوشه
FILEپیام
mkdir unpacked && cd unpacked
munpack ../message.eml
file -- * | tee file-types.txt
sha256sum -- * > SHA256SUMS

روش پیشنهادی: پیش از اجرای munpack نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- munpack | tee munpack.path
type -a -- munpack 2> munpack.lookup.err
apropos -- munpack | head -n 20
man -f -- munpack 2>/dev/null || true

notmuchایندکس و جست‌وجوی ایمیل محلی

324میانیکنترل‌شده

نصب: sudo apt install notmuch

SYNTAXnotmuch COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
setupپیکربندی
newایندکس
searchجست‌وجو
showنمایش
tagبرچسب
--formatقالب
notmuch setup
notmuch new
notmuch search 'date:7d.. and tag:inbox'
notmuch show --format=json 'id:MESSAGE_ID' > message.json

روش پیشنهادی: پیش از اجرای notmuch نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- notmuch | tee notmuch.path
type -a -- notmuch 2> notmuch.lookup.err
apropos -- notmuch | head -n 20
man -f -- notmuch 2>/dev/null || true

mailparserتحلیل ساختار و هدر EML با mail-parser

325میانیکنترل‌شده

نصب: pipx install mail-parser

SYNTAXmailparser [OPTIONS]
زیرفرمان / گزینهکاربرد
-fفایل
-jJSON
-bbody
-aپیوست
-rهدر خام
-iindent
mailparser -f message.eml -j > message.json
jq '{from:.from,to:.to,subject:.subject}' message.json
mailparser -f message.eml -b > body.txt

روش پیشنهادی: پیش از اجرای mailparser نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- mailparser | tee mailparser.path
type -a -- mailparser 2> mailparser.lookup.err
apropos -- mailparser | head -n 20
man -f -- mailparser 2>/dev/null || true
🛡️

26. VPN، تونل و اتصال امن

13 ابزار و فرمان

openvpnاتصال VPN مبتنی بر TLS

326میانیفعال

نصب: sudo apt install openvpn

SYNTAXopenvpn [OPTIONS]
زیرفرمان / گزینهکاربرد
--configپیکربندی
--auth-nocacheعدم cache
--verbجزئیات
--route-nopullبدون route
--show-tlsTLS
--test-cryptoآزمون
sudo openvpn --config lab.ovpn --auth-nocache --verb 3
openvpn --show-tls
openvpn --config lab.ovpn --test-crypto | tee crypto-test.txt

روش پیشنهادی: پیش از اجرای openvpn نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- openvpn | tee openvpn.path
type -a -- openvpn 2> openvpn.lookup.err
apropos -- openvpn | head -n 20
man -f -- openvpn 2>/dev/null || true

wgبازبینی و مدیریت WireGuard

327میانیفعال

نصب: sudo apt install wireguard-tools

SYNTAXwg COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
showوضعیت
showconfپیکربندی
getخواندن
setتغییر
genkeyکلید
pubkeyعمومی
sudo wg show
sudo wg show all dump > wg-state.tsv
umask 077; wg genkey > lab.key
wg pubkey < lab.key > lab.pub

روش پیشنهادی: پیش از اجرای wg نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wg | tee wg.path
type -a -- wg 2> wg.lookup.err
apropos -- wg | head -n 20
man -f -- wg 2>/dev/null || true

wg-quickبالا و پایین‌بردن رابط WireGuard

328میانیفعال

نصب: sudo apt install wireguard-tools

SYNTAXwg-quick COMMAND INTERFACE
زیرفرمان / گزینهکاربرد
upفعال
downغیرفعال
saveذخیره
stripپیکربندی خالص
INTERFACEنام یا فایل
sudo wg-quick strip lab
sudo wg-quick up lab
sudo wg show lab
sudo wg-quick down lab

روش پیشنهادی: پیش از اجرای wg-quick نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wg-quick | tee wg-quick.path
type -a -- wg-quick 2> wg-quick.lookup.err
apropos -- wg-quick | head -n 20
man -f -- wg-quick 2>/dev/null || true

ipsecکنترل تونل‌های strongSwan

329میانیفعال

نصب: sudo apt install strongswan

SYNTAXipsec COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
statusallوضعیت
listcertsگواهی‌ها
rereadallبازخوانی
upاتصال
downقطع
restartراه‌اندازی
sudo ipsec statusall | tee ipsec-status.txt
sudo ipsec listcerts
sudo ipsec rereadall
sudo ipsec up lab && sudo ipsec down lab

روش پیشنهادی: پیش از اجرای ipsec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ipsec | tee ipsec.path
type -a -- ipsec 2> ipsec.lookup.err
apropos -- ipsec | head -n 20
man -f -- ipsec 2>/dev/null || true

swanctlمدیریت IKEv2 با VICI

330میانیفعال

نصب: sudo apt install strongswan-swanctl

SYNTAXswanctl COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
--list-connsاتصال‌ها
--list-sasSAها
--load-allبارگذاری
--initiateشروع
--terminateپایان
--loglog
sudo swanctl --list-conns
sudo swanctl --list-sas
sudo swanctl --load-all
sudo swanctl --initiate --child lab

روش پیشنهادی: پیش از اجرای swanctl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- swanctl | tee swanctl.path
type -a -- swanctl 2> swanctl.lookup.err
apropos -- swanctl | head -n 20
man -f -- swanctl 2>/dev/null || true

autosshپایدارسازی تونل SSH مجاز

331میانیفعال

نصب: sudo apt install autossh

SYNTAXautossh [SSH_OPTIONS] HOST
زیرفرمان / گزینهکاربرد
-Mmonitor
-Nبدون shell
-Llocal forward
-Rremote forward
-DSOCKS
-fپس‌زمینه
AUTOSSH_GATETIME=0 autossh -M 0 -N -o ServerAliveInterval=30 -L 127.0.0.1:8080:internal:80 lab@BASTION
autossh -M 20000 -N -R 127.0.0.1:2222:localhost:22 lab@BASTION

روش پیشنهادی: پیش از اجرای autossh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- autossh | tee autossh.path
type -a -- autossh 2> autossh.lookup.err
apropos -- autossh | head -n 20
man -f -- autossh 2>/dev/null || true

proxychains4عبور برنامه مجاز از زنجیره proxy

332میانیفعال

نصب: sudo apt install proxychains4

SYNTAXproxychains4 [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-qساکت
-fپیکربندی
strict_chainسخت
dynamic_chainپویا
proxy_dnsDNS از proxy
proxychains4 -q curl https://ifconfig.example.test
proxychains4 nmap -sT -Pn TARGET
proxychains4 -f ./proxychains.conf curl https://TARGET/health

روش پیشنهادی: پیش از اجرای proxychains4 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- proxychains4 | tee proxychains4.path
type -a -- proxychains4 2> proxychains4.lookup.err
apropos -- proxychains4 | head -n 20
man -f -- proxychains4 2>/dev/null || true

torsocksاجرای TCP از مسیر Tor

333میانیفعال

نصب: sudo apt install torsocks tor

SYNTAXtorsocks [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
--isolateمدار جدا
-Pپورت
-aآدرس Tor
-u/-pاحراز
COMMANDبرنامه
torsocks curl https://check.torproject.org/api/ip
torsocks --isolate curl https://example.com
torsocks -P 9050 git ls-remote https://example.com/repo.git

روش پیشنهادی: پیش از اجرای torsocks نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- torsocks | tee torsocks.path
type -a -- torsocks 2> torsocks.lookup.err
apropos -- torsocks | head -n 20
man -f -- torsocks 2>/dev/null || true

sshuttleVPN کاربرمحور روی SSH

334میانیفعال

نصب: sudo apt install sshuttle

SYNTAXsshuttle [OPTIONS] SUBNETS
زیرفرمان / گزینهکاربرد
-rدروازه
--dnsDNS
--auto-hostshostها
-xاستثنا
-vجزئیات
--methodروش firewall
sshuttle -r lab@BASTION 10.10.0.0/16 --dns
sshuttle -r lab@BASTION --auto-hosts 10.10.0.0/16
sshuttle -v -r lab@BASTION 10.10.1.0/24 2>sshuttle.log

روش پیشنهادی: پیش از اجرای sshuttle نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sshuttle | tee sshuttle.path
type -a -- sshuttle 2> sshuttle.lookup.err
apropos -- sshuttle | head -n 20
man -f -- sshuttle 2>/dev/null || true

chiselتونل TCP آزمایشگاهی روی HTTP

335میانیفعال

نصب: نصب release رسمی Chisel

SYNTAXchisel COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
serverسرور
clientکلاینت
--hostbind
--portپورت
--fingerprintpin
socksSOCKS
chisel server --host 127.0.0.1 --port 8080
chisel client https://BASTION:8080 127.0.0.1:9000:internal:80
chisel client --fingerprint SHA256 BASTION:8080 socks

روش پیشنهادی: پیش از اجرای chisel نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- chisel | tee chisel.path
type -a -- chisel 2> chisel.lookup.err
apropos -- chisel | head -n 20
man -f -- chisel 2>/dev/null || true
⚠️ bind عمومی و reverse tunnel فقط طبق معماری و مجوز ثبت‌شده باشد.

cloudflaredتونل و DNS over HTTPS Cloudflare

336میانیفعال

نصب: نصب بسته رسمی cloudflared

SYNTAXcloudflared COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
tunnel listفهرست
tunnel infoجزئیات
--urlسرویس محلی
proxy-dnsDoH
--configپیکربندی
cloudflared tunnel list
cloudflared tunnel info LAB_TUNNEL
cloudflared tunnel --url http://127.0.0.1:8080
cloudflared proxy-dns --address 127.0.0.1 --port 5053

روش پیشنهادی: پیش از اجرای cloudflared نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cloudflared | tee cloudflared.path
type -a -- cloudflared 2> cloudflared.lookup.err
apropos -- cloudflared | head -n 20
man -f -- cloudflared 2>/dev/null || true

frpcکلاینت Fast Reverse Proxy

337میانیفعال

نصب: نصب release رسمی frp

SYNTAXfrpc [OPTIONS]
زیرفرمان / گزینهکاربرد
verifyاعتبارسنجی
statusوضعیت
reloadبازخوانی
-cپیکربندی
--strict-configسخت‌گیرانه
frpc verify -c frpc.toml
frpc -c frpc.toml
frpc status -c frpc.toml
frpc reload -c frpc.toml

روش پیشنهادی: پیش از اجرای frpc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- frpc | tee frpc.path
type -a -- frpc 2> frpc.lookup.err
apropos -- frpc | head -n 20
man -f -- frpc 2>/dev/null || true

ssh-auditممیزی الگوریتم‌های SSH

338میانیفعال

نصب: sudo apt install ssh-audit

SYNTAXssh-audit [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-pپورت
--jsonJSON
--policyسیاست
--client-auditکلاینت
-lسطح
--timeoutزمان
ssh-audit TARGET | tee ssh-audit.txt
ssh-audit -p 2222 TARGET
ssh-audit --json TARGET > ssh-audit.json
ssh-audit --policy policy.txt TARGET

روش پیشنهادی: پیش از اجرای ssh-audit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ssh-audit | tee ssh-audit.path
type -a -- ssh-audit 2> ssh-audit.lookup.err
apropos -- ssh-audit | head -n 20
man -f -- ssh-audit 2>/dev/null || true
📈

27. لاگ، مشاهده‌پذیری و pipeline رویداد

13 ابزار و فرمان

loggerارسال رویداد کنترل‌شده به syslog

339میانیدفاعی

نصب: پیش‌فرض سیستم

SYNTAXlogger [OPTIONS] MESSAGE
زیرفرمان / گزینهکاربرد
-ttag
-pfacility.level
--journaldفیلدها
-fفایل
-sstderr
--idPID
logger -t lab-audit -p user.notice 'authorized check started'
printf 'one
two
' | logger -t lab-batch
logger --journald <<'EOF'
MESSAGE=lab event
PRIORITY=6
EOF

روش پیشنهادی: پیش از اجرای logger نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- logger | tee logger.path
type -a -- logger 2> logger.lookup.err
apropos -- logger | head -n 20
man -f -- logger 2>/dev/null || true

logrotateچرخش و نگهداری log

340میانیدفاعی

نصب: پیش‌فرض سیستم

SYNTAXlogrotate [OPTIONS] CONFIG
زیرفرمان / گزینهکاربرد
-ddebug بدون تغییر
-vجزئیات
-fاجبار
-sstate
-llog
CONFIGپیکربندی
logrotate -d /etc/logrotate.conf
sudo logrotate -v -f /etc/logrotate.d/lab
logrotate -s ./logrotate.status ./lab.conf

روش پیشنهادی: پیش از اجرای logrotate نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- logrotate | tee logrotate.path
type -a -- logrotate 2> logrotate.lookup.err
apropos -- logrotate | head -n 20
man -f -- logrotate 2>/dev/null || true

rsyslogdاعتبارسنجی و اجرای rsyslog

341میانیدفاعی

نصب: sudo apt install rsyslog

SYNTAXrsyslogd [OPTIONS]
زیرفرمان / گزینهکاربرد
-N1بررسی config
-N3بررسی گسترده
-fپیکربندی
-nforeground
-ipidfile
-vنسخه
rsyslogd -N1
rsyslogd -N3 -f ./rsyslog.conf
sudo systemctl reload rsyslog
logger -t lab-rsyslog 'pipeline check'

روش پیشنهادی: پیش از اجرای rsyslogd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rsyslogd | tee rsyslogd.path
type -a -- rsyslogd 2> rsyslogd.lookup.err
apropos -- rsyslogd | head -n 20
man -f -- rsyslogd 2>/dev/null || true

syslog-ngpipeline منعطف syslog

342میانیدفاعی

نصب: sudo apt install syslog-ng-core

SYNTAXsyslog-ng [OPTIONS]
زیرفرمان / گزینهکاربرد
--syntax-onlyبررسی
-fپیکربندی
-Fforeground
-estderr
statsآمار
queryپرس‌وجو
syslog-ng --syntax-only -f ./syslog-ng.conf
syslog-ng-ctl stats | tee syslog-stats.txt
syslog-ng-ctl query get '*'
syslog-ng -Fe -f ./lab.conf

روش پیشنهادی: پیش از اجرای syslog-ng نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- syslog-ng | tee syslog-ng.path
type -a -- syslog-ng 2> syslog-ng.lookup.err
apropos -- syslog-ng | head -n 20
man -f -- syslog-ng 2>/dev/null || true

goaccessگزارش تعاملی log وب

343میانیدفاعی

نصب: sudo apt install goaccess

SYNTAXgoaccess LOG [OPTIONS]
زیرفرمان / گزینهکاربرد
--log-formatقالب
-oخروجی
--real-time-htmlزنده
--json-pretty-printJSON
--ignore-crawlersحذف crawler
goaccess access.log --log-format=COMBINED -o report.html
zcat access.log.*.gz | goaccess - --log-format=COMBINED -o history.html
goaccess access.log --json-pretty-print -o access.json

روش پیشنهادی: پیش از اجرای goaccess نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- goaccess | tee goaccess.path
type -a -- goaccess 2> goaccess.lookup.err
apropos -- goaccess | head -n 20
man -f -- goaccess 2>/dev/null || true

lnavمرور و query چند log

344میانیدفاعی

نصب: sudo apt install lnav

SYNTAXlnav [OPTIONS] [FILES]
زیرفرمان / گزینهکاربرد
-nبدون tail
-cفرمان
-Rفرمت‌ها
-rrecursive
-tزمان
-ddebug
lnav /var/log/auth.log
lnav -n access.log
lnav -c ';SELECT log_time,log_text FROM all_logs LIMIT 20' access.log
lnav -R ./formats logs/

روش پیشنهادی: پیش از اجرای lnav نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- lnav | tee lnav.path
type -a -- lnav 2> lnav.lookup.err
apropos -- lnav | head -n 20
man -f -- lnav 2>/dev/null || true

multitailمشاهده هم‌زمان چند log

345میانیدفاعی

نصب: sudo apt install multitail

SYNTAXmultitail [OPTIONS] FILES
زیرفرمان / گزینهکاربرد
-iفایل
-lفرمان
-sستون
-cTرنگ
-fفیلتر
-vمعکوس
multitail /var/log/auth.log /var/log/syslog
multitail -s 2 -i app.log -i worker.log
multitail -l 'journalctl -f -u ssh' -l 'tail -F app.log'

روش پیشنهادی: پیش از اجرای multitail نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- multitail | tee multitail.path
type -a -- multitail 2> multitail.lookup.err
apropos -- multitail | head -n 20
man -f -- multitail 2>/dev/null || true

gronتبدیل JSON به مسیرهای grepپذیر

346میانیدفاعی

نصب: نصب release رسمی gron

SYNTAXgron [OPTIONS] [FILE_OR_URL]
زیرفرمان / گزینهکاربرد
--ungronبازسازی
-mmonochrome
--no-sortبدون sort
--valuesفقط مقدار
FILEJSON
gron events.json | grep source.ip
gron events.json > events.gron
gron --ungron events.gron > restored.json
curl -s https://TARGET/api/health | gron

روش پیشنهادی: پیش از اجرای gron نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gron | tee gron.path
type -a -- gron 2> gron.lookup.err
apropos -- gron | head -n 20
man -f -- gron 2>/dev/null || true

promtailارسال log به Loki

347میانیدفاعی

نصب: نصب بسته رسمی Grafana Promtail

SYNTAXpromtail [OPTIONS]
زیرفرمان / گزینهکاربرد
-check-syntaxاعتبارسنجی
-dry-runبدون ارسال
-stdinورودی
-config.fileپیکربندی
-print-config-stderrنهایی
promtail -check-syntax -config.file=promtail.yaml
promtail -dry-run -stdin -config.file=promtail.yaml < app.log
promtail -config.file=promtail.yaml -print-config-stderr

روش پیشنهادی: پیش از اجرای promtail نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- promtail | tee promtail.path
type -a -- promtail 2> promtail.lookup.err
apropos -- promtail | head -n 20
man -f -- promtail 2>/dev/null || true

promtoolاعتبارسنجی قواعد Prometheus

348پیشرفتهدفاعی

نصب: sudo apt install prometheus

SYNTAXpromtool COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
check configپیکربندی
check rulesقواعد
test rulesتست
query instantپرس‌وجو
tsdb analyzeتحلیل
promtool check config prometheus.yml
promtool check rules rules/*.yml
promtool test rules tests.yml
promtool query instant http://127.0.0.1:9090 'up'

روش پیشنهادی: پیش از اجرای promtool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- promtool | tee promtool.path
type -a -- promtool 2> promtool.lookup.err
apropos -- promtool | head -n 20
man -f -- promtool 2>/dev/null || true

filebeatجمع‌آوری و ارسال log

349پیشرفتهدفاعی

نصب: نصب بسته رسمی Elastic Filebeat

SYNTAXfilebeat COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
test configپیکربندی
test outputمقصد
export configنهایی
modulesماژول
-estderr
-cفایل
filebeat test config -c filebeat.yml
filebeat test output -c filebeat.yml
filebeat export config -c filebeat.yml > effective.yml
filebeat -e -c filebeat.yml

روش پیشنهادی: پیش از اجرای filebeat نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- filebeat | tee filebeat.path
type -a -- filebeat 2> filebeat.lookup.err
apropos -- filebeat | head -n 20
man -f -- filebeat 2>/dev/null || true

vectorpipeline پرسرعت telemetry

350پیشرفتهدفاعی

نصب: نصب بسته رسمی Vector

SYNTAXvector COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
validateاعتبارسنجی
graphنمودار
testتست
tapنمونه رویداد
--configفایل
--watch-configبازخوانی
vector validate vector.yaml
vector graph vector.yaml
vector test vector.yaml
vector --config vector.yaml --watch-config

روش پیشنهادی: پیش از اجرای vector نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- vector | tee vector.path
type -a -- vector 2> vector.lookup.err
apropos -- vector | head -n 20
man -f -- vector 2>/dev/null || true

fluent-bitپردازش سبک log و metric

351پیشرفتهدفاعی

نصب: sudo apt install fluent-bit

SYNTAXfluent-bit [OPTIONS]
زیرفرمان / گزینهکاربرد
--dry-runاعتبارسنجی
-cپیکربندی
-iinput
-ooutput
-pproperty
-vجزئیات
fluent-bit --dry-run -c fluent-bit.conf
fluent-bit -i tail -p path=app.log -o stdout
fluent-bit -c fluent-bit.conf -v 2>fluent-bit.log

روش پیشنهادی: پیش از اجرای fluent-bit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- fluent-bit | tee fluent-bit.path
type -a -- fluent-bit 2> fluent-bit.lookup.err
apropos -- fluent-bit | head -n 20
man -f -- fluent-bit 2>/dev/null || true
🗄️

28. پشتیبان، آرشیو و همگام‌سازی امن

13 ابزار و فرمان

resticپشتیبان رمزگذاری‌شده و deduplicated

352پیشرفتهتحلیل

نصب: sudo apt install restic

SYNTAXrestic COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
initساخت
backupپشتیبان
snapshotsفهرست
restoreبازگردانی
checkبررسی
forgetسیاست نگهداری
restic -r ./repo init
restic -r ./repo backup evidence --tag lab
restic -r ./repo snapshots
restic -r ./repo check --read-data-subset=5%

روش پیشنهادی: پیش از اجرای restic نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- restic | tee restic.path
type -a -- restic 2> restic.lookup.err
apropos -- restic | head -n 20
man -f -- restic 2>/dev/null || true

borgآرشیو deduplicated و رمزگذاری‌شده

353پیشرفتهتحلیل

نصب: sudo apt install borgbackup

SYNTAXborg COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
initساخت
createآرشیو
listفهرست
extractاستخراج
checkبررسی
pruneنگهداری
borg init --encryption=repokey-blake2 ./borgrepo
borg create --stats ./borgrepo::lab-{now} evidence
borg list ./borgrepo
borg check --verify-data ./borgrepo

روش پیشنهادی: پیش از اجرای borg نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- borg | tee borg.path
type -a -- borg 2> borg.lookup.err
apropos -- borg | head -n 20
man -f -- borg 2>/dev/null || true

rcloneهمگام‌سازی و بررسی object storage

354پیشرفتهتحلیل

نصب: sudo apt install rclone

SYNTAXrclone COMMAND SOURCE DEST [OPTIONS]
زیرفرمان / گزینهکاربرد
copyکپی
syncهمسان‌سازی
checkبررسی
lsjsonJSON
--dry-runآزمایشی
--checksumهش
-Pپیشرفت
rclone config file
rclone copy evidence remote:lab/evidence --dry-run -P
rclone copy evidence remote:lab/evidence --checksum -P
rclone check evidence remote:lab/evidence --one-way

روش پیشنهادی: پیش از اجرای rclone نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rclone | tee rclone.path
type -a -- rclone 2> rclone.lookup.err
apropos -- rclone | head -n 20
man -f -- rclone 2>/dev/null || true

syncthingهمگام‌سازی همتابه‌همتا

355پیشرفتهتحلیل

نصب: sudo apt install syncthing

SYNTAXsyncthing [OPTIONS]
زیرفرمان / گزینهکاربرد
generateپیکربندی
show systemوضعیت
cli configتنظیم
--homeمسیر
--no-browserبدون مرورگر
--auditممیزی
syncthing generate --home ./syncthing-home
syncthing show system
syncthing cli config folders list
syncthing --home ./syncthing-home --no-browser

روش پیشنهادی: پیش از اجرای syncthing نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- syncthing | tee syncthing.path
type -a -- syncthing 2> syncthing.lookup.err
apropos -- syncthing | head -n 20
man -f -- syncthing 2>/dev/null || true

duplicityپشتیبان افزایشی رمزگذاری‌شده

356پیشرفتهتحلیل

نصب: sudo apt install duplicity

SYNTAXduplicity [OPTIONS] SOURCE TARGET
زیرفرمان / گزینهکاربرد
--dry-runآزمایشی
--encrypt-keyکلید
collection-statusوضعیت
verifyبررسی
restoreبازگردانی
cleanupپاک‌سازی
duplicity --dry-run evidence file://$PWD/backup
duplicity --encrypt-key KEYID evidence file://$PWD/backup
duplicity collection-status file://$PWD/backup
duplicity verify file://$PWD/backup evidence

روش پیشنهادی: پیش از اجرای duplicity نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- duplicity | tee duplicity.path
type -a -- duplicity 2> duplicity.lookup.err
apropos -- duplicity | head -n 20
man -f -- duplicity 2>/dev/null || true

tarساخت و بررسی آرشیو

357پیشرفتهتحلیل

نصب: پیش‌فرض سیستم

SYNTAXtar [OPTIONS] [FILES]
زیرفرمان / گزینهکاربرد
--createساخت
--listفهرست
--extractاستخراج
--fileآرشیو
--directoryمقصد
--nullنام NUL
tar --create --file evidence.tar evidence/
tar --list --verbose --file evidence.tar
tar --extract --file evidence.tar --directory restored --no-same-owner
tar --create --null --files-from filelist0 -f selected.tar

روش پیشنهادی: پیش از اجرای tar نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tar | tee tar.path
type -a -- tar 2> tar.lookup.err
apropos -- tar | head -n 20
man -f -- tar 2>/dev/null || true

cpioآرشیو بر پایه فهرست فایل

358پیشرفتهتحلیل

نصب: پیش‌فرض سیستم

SYNTAXcpio [OPTIONS]
زیرفرمان / گزینهکاربرد
-oساخت
-iاستخراج
-tفهرست
-0NUL
-vجزئیات
--formatnewc=قالب
--no-absolute-filenamesامن
find evidence -type f -print0 | cpio -0 -ov --format=newc > evidence.cpio
cpio -itv < evidence.cpio
mkdir restored && cd restored && cpio -idmv --no-absolute-filenames < ../evidence.cpio

روش پیشنهادی: پیش از اجرای cpio نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cpio | tee cpio.path
type -a -- cpio 2> cpio.lookup.err
apropos -- cpio | head -n 20
man -f -- cpio 2>/dev/null || true

paxآرشیو قابل‌حمل POSIX

359پیشرفتهتحلیل

نصب: sudo apt install pax

SYNTAXpax [OPTIONS] [FILES]
زیرفرمان / گزینهکاربرد
-wنوشتن
-rخواندن
-fفایل
-xقالب
-sتغییر مسیر
-vجزئیات
pax -w -x ustar evidence > evidence.pax
pax -f evidence.pax
mkdir restored && cd restored && pax -r -s ',^/,,' -f ../evidence.pax

روش پیشنهادی: پیش از اجرای pax نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pax | tee pax.path
type -a -- pax 2> pax.lookup.err
apropos -- pax | head -n 20
man -f -- pax 2>/dev/null || true

zstdفشرده‌سازی سریع و بررسی‌پذیر

360پیشرفتهتحلیل

نصب: sudo apt install zstd

SYNTAXzstd [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
-dبازکردن
-T0همه CPU
-19سطح
--testبررسی
--listاطلاعات
--rmحذف منبع
zstd -19 -T0 evidence.tar -o evidence.tar.zst
zstd --test evidence.tar.zst
zstd -d evidence.tar.zst -o restored.tar
zstd --list evidence.tar.zst

روش پیشنهادی: پیش از اجرای zstd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- zstd | tee zstd.path
type -a -- zstd 2> zstd.lookup.err
apropos -- zstd | head -n 20
man -f -- zstd 2>/dev/null || true

7zآرشیو چندقالب و رمزگذاری AES

361پیشرفتهتحلیل

نصب: sudo apt install 7zip

SYNTAX7z COMMAND [OPTIONS] ARCHIVE [FILES]
زیرفرمان / گزینهکاربرد
aافزودن
lفهرست
tآزمون
xاستخراج
-mheرمز نام‌ها
-oمقصد
-spf-مسیر نسبی
7z a -t7z -mhe=on archive.7z evidence/
7z l -slt archive.7z
7z t archive.7z
7z x archive.7z -orestored -spf-

روش پیشنهادی: پیش از اجرای 7z نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- 7z | tee 7z.path
type -a -- 7z 2> 7z.lookup.err
apropos -- 7z | head -n 20
man -f -- 7z 2>/dev/null || true

darآرشیو دیسکی چندبخشی

362پیشرفتهتحلیل

نصب: sudo apt install dar

SYNTAXdar [OPTIONS]
زیرفرمان / گزینهکاربرد
-cساخت
-lفهرست
-tآزمون
-xاستخراج
-Rریشه
-zفشرده
-sاندازه slice
dar -c backup/evidence -R evidence -z
dar -l backup/evidence
dar -t backup/evidence
dar -x backup/evidence -R restored

روش پیشنهادی: پیش از اجرای dar نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dar | tee dar.path
type -a -- dar 2> dar.lookup.err
apropos -- dar | head -n 20
man -f -- dar 2>/dev/null || true

bupپشتیبان محتوامحور مبتنی بر Git pack

363پیشرفتهتحلیل

نصب: sudo apt install bup

SYNTAXbup COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
initساخت
indexایندکس
saveذخیره
lsفهرست
restoreبازگردانی
fsmount مجازی
BUP_DIR=./buprepo bup init
BUP_DIR=./buprepo bup index evidence
BUP_DIR=./buprepo bup save -n lab evidence
BUP_DIR=./buprepo bup ls lab/latest

روش پیشنهادی: پیش از اجرای bup نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bup | tee bup.path
type -a -- bup 2> bup.lookup.err
apropos -- bup | head -n 20
man -f -- bup 2>/dev/null || true

rdiff-backupپشتیبان افزایشی با mirror جاری

364پیشرفتهتحلیل

نصب: sudo apt install rdiff-backup

SYNTAXrdiff-backup [OPTIONS] SOURCE DEST
زیرفرمان / گزینهکاربرد
--dry-runآزمایشی
--list-incrementsنسخه‌ها
--verifyبررسی
--restore-as-ofبازیابی
--remove-older-thanنگهداری
rdiff-backup --dry-run evidence backup
rdiff-backup evidence backup
rdiff-backup --list-increments backup
rdiff-backup --verify backup

روش پیشنهادی: پیش از اجرای rdiff-backup نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rdiff-backup | tee rdiff-backup.path
type -a -- rdiff-backup 2> rdiff-backup.lookup.err
apropos -- rdiff-backup | head -n 20
man -f -- rdiff-backup 2>/dev/null || true
📦

29. امنیت زنجیره تأمین و artifact

13 ابزار و فرمان

cosignامضا و اعتبارسنجی artifactهای OCI

365پیشرفتهدفاعی

نصب: نصب release رسمی Cosign

SYNTAXcosign COMMAND [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
verifyاعتبارسنجی image
verify-blobفایل
signامضا
sign-blobامضای فایل
triangulateمرجع signature
--keyکلید
cosign version
cosign verify --key cosign.pub registry.example.test/lab/app:1.0 | jq .
cosign verify-blob --key cosign.pub --signature artifact.sig artifact.bin
cosign triangulate registry.example.test/lab/app:1.0

روش پیشنهادی: پیش از اجرای cosign نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cosign | tee cosign.path
type -a -- cosign 2> cosign.lookup.err
apropos -- cosign | head -n 20
man -f -- cosign 2>/dev/null || true

skopeoبازبینی و انتقال image بدون daemon

366پیشرفتهدفاعی

نصب: sudo apt install skopeo

SYNTAXskopeo COMMAND [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
inspectmetadata
list-tagstagها
copyکپی
syncهمگام‌سازی
--allهمه معماری‌ها
--dry-runآزمایشی
skopeo inspect docker://registry.example.test/lab/app:1.0 | jq .Digest
skopeo list-tags docker://registry.example.test/lab/app | jq .Tags
skopeo copy --all docker://SOURCE oci:app-oci:1.0
skopeo sync --dry-run --src docker --dest dir registry.example.test/lab backup/

روش پیشنهادی: پیش از اجرای skopeo نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- skopeo | tee skopeo.path
type -a -- skopeo 2> skopeo.lookup.err
apropos -- skopeo | head -n 20
man -f -- skopeo 2>/dev/null || true

craneکار با registry و manifest کانتینر

367پیشرفتهدفاعی

نصب: نصب release رسمی crane

SYNTAXcrane COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
digestهش
manifestmanifest
configپیکربندی
exportخروجی tar
lstagها
validateاعتبارسنجی
crane digest registry.example.test/lab/app:1.0
crane manifest registry.example.test/lab/app:1.0 | jq .
crane config registry.example.test/lab/app:1.0 | jq .config
crane export registry.example.test/lab/app:1.0 app.tar

روش پیشنهادی: پیش از اجرای crane نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- crane | tee crane.path
type -a -- crane 2> crane.lookup.err
apropos -- crane | head -n 20
man -f -- crane 2>/dev/null || true

regctlمدیریت registry و OCI artifact

368پیشرفتهدفاعی

نصب: نصب release رسمی regclient

SYNTAXregctl COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
image digestهش
manifest getmanifest
image inspectجزئیات
artifact listضمائم
repo lsمخزن
tag lstag
regctl image digest registry.example.test/lab/app:1.0
regctl manifest get registry.example.test/lab/app:1.0 --format raw-body > manifest.json
regctl image inspect registry.example.test/lab/app:1.0
regctl artifact list registry.example.test/lab/app:1.0

روش پیشنهادی: پیش از اجرای regctl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- regctl | tee regctl.path
type -a -- regctl 2> regctl.lookup.err
apropos -- regctl | head -n 20
man -f -- regctl 2>/dev/null || true

diveتحلیل layerهای image کانتینر

369پیشرفتهدفاعی

نصب: نصب release رسمی Dive

SYNTAXdive [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
--sourceمنبع
--ciحالت CI
--jsonخروجی JSON
--lowestEfficiencyحد بهره‌وری
--highestWastedBytesحد اتلاف
dive registry.example.test/lab/app:1.0
CI=true dive registry.example.test/lab/app:1.0
dive --source docker-archive app.tar
dive --source oci app-oci

روش پیشنهادی: پیش از اجرای dive نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dive | tee dive.path
type -a -- dive 2> dive.lookup.err
apropos -- dive | head -n 20
man -f -- dive 2>/dev/null || true

hadolintlint امنیتی و کیفی Dockerfile

370پیشرفتهدفاعی

نصب: sudo apt install hadolint

SYNTAXhadolint [OPTIONS] DOCKERFILES
زیرفرمان / گزینهکاربرد
--formatقالب
--failure-thresholdحد شکست
--ignoreنادیده‌گیری
--trusted-registryregistry
--configپیکربندی
hadolint Dockerfile
hadolint --format json Dockerfile | tee hadolint.json
hadolint --failure-threshold warning Dockerfile
hadolint --ignore DL3008 Dockerfile

روش پیشنهادی: پیش از اجرای hadolint نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hadolint | tee hadolint.path
type -a -- hadolint 2> hadolint.lookup.err
apropos -- hadolint | head -n 20
man -f -- hadolint 2>/dev/null || true

shellcheckتحلیل ایستای اسکریپت shell

371پیشرفتهدفاعی

نصب: sudo apt install shellcheck

SYNTAXshellcheck [OPTIONS] FILES
زیرفرمان / گزینهکاربرد
--formatقالب
--severityشدت
--shellشل
--external-sourcessourceها
--excludeقواعد
--enableاختیاری
shellcheck audit.sh
shellcheck --format=json scripts/*.sh > shellcheck.json
shellcheck --severity=warning --shell=bash audit.sh
shellcheck --external-sources deploy.sh

روش پیشنهادی: پیش از اجرای shellcheck نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- shellcheck | tee shellcheck.path
type -a -- shellcheck 2> shellcheck.lookup.err
apropos -- shellcheck | head -n 20
man -f -- shellcheck 2>/dev/null || true

semgrepتحلیل الگو و SAST چندزبانه

372پیشرفتهدفاعی

نصب: pipx install semgrep

SYNTAXsemgrep [OPTIONS] [TARGETS]
زیرفرمان / گزینهکاربرد
scanاسکن
--configقواعد
--jsonJSON
-oخروجی
--validateاعتبارسنجی
--baseline-commitتغییرات
semgrep scan --config auto src/ --json -o semgrep.json
semgrep scan --config p/owasp-top-ten src/
semgrep scan --validate --config rules/
semgrep scan --baseline-commit HEAD~1 --config rules/

روش پیشنهادی: پیش از اجرای semgrep نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- semgrep | tee semgrep.path
type -a -- semgrep 2> semgrep.lookup.err
apropos -- semgrep | head -n 20
man -f -- semgrep 2>/dev/null || true

banditSAST پروژه‌های Python

373پیشرفتهدفاعی

نصب: sudo apt install bandit

SYNTAXbandit [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
-rبازگشتی
-fقالب
-oخروجی
-lشدت
-iاطمینان
-cپیکربندی
-sحذف test
bandit -r src/
bandit -r src/ -f json -o bandit.json
bandit -r src/ -ll -ii
bandit -c pyproject.toml -r src/

روش پیشنهادی: پیش از اجرای bandit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bandit | tee bandit.path
type -a -- bandit 2> bandit.lookup.err
apropos -- bandit | head -n 20
man -f -- bandit 2>/dev/null || true

pip-auditممیزی dependencyهای Python

374پیشرفتهدفاعی

نصب: pipx install pip-audit

SYNTAXpip-audit [OPTIONS]
زیرفرمان / گزینهکاربرد
-rrequirements
-fقالب
-oخروجی
--localمحیط محلی
--strictشکست کامل
--require-hashesاجبار هش
--fixاصلاح
pip-audit -r requirements.txt
pip-audit -r requirements.txt -f json -o pip-audit.json
pip-audit --local --strict
pip-audit -r requirements.txt --require-hashes

روش پیشنهادی: پیش از اجرای pip-audit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pip-audit | tee pip-audit.path
type -a -- pip-audit 2> pip-audit.lookup.err
apropos -- pip-audit | head -n 20
man -f -- pip-audit 2>/dev/null || true

osv-scannerممیزی dependency و lockfile با OSV

375پیشرفتهدفاعی

نصب: نصب release رسمی OSV-Scanner

SYNTAXosv-scanner [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
scan sourceسورس
scan imageimage
--lockfilelockfile
-rبازگشتی
--formatقالب
--offlineآفلاین
osv-scanner scan source -r .
osv-scanner scan source -r . --format json > osv.json
osv-scanner scan --lockfile package-lock.json
osv-scanner scan image app.tar

روش پیشنهادی: پیش از اجرای osv-scanner نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- osv-scanner | tee osv-scanner.path
type -a -- osv-scanner 2> osv-scanner.lookup.err
apropos -- osv-scanner | head -n 20
man -f -- osv-scanner 2>/dev/null || true

npm-auditممیزی dependencyهای npm

376پیشرفتهدفاعی

نصب: sudo apt install npm

SYNTAXnpm audit [OPTIONS]
زیرفرمان / گزینهکاربرد
auditممیزی
--audit-levelحد
--jsonJSON
signaturesامضاها
npm ciنصب قفل‌شده
--ignore-scriptsعدم اجرای script
npm ci --ignore-scripts
npm audit --audit-level=high
npm audit --json > npm-audit.json
npm audit signatures

روش پیشنهادی: پیش از اجرای npm-audit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- npm-audit | tee npm-audit.path
type -a -- npm-audit 2> npm-audit.lookup.err
apropos -- npm-audit | head -n 20
man -f -- npm-audit 2>/dev/null || true

cargo-auditممیزی crateهای Rust

377پیشرفتهدفاعی

نصب: cargo install cargo-audit --locked

SYNTAXcargo audit [OPTIONS]
زیرفرمان / گزینهکاربرد
--jsonJSON
--filelockfile
--denyسیاست
--ignoreشناسه advisory
--staleقدمت DB
fetchدریافت DB
cargo audit
cargo audit --json > cargo-audit.json
cargo audit --file Cargo.lock
cargo audit --deny warnings

روش پیشنهادی: پیش از اجرای cargo-audit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cargo-audit | tee cargo-audit.path
type -a -- cargo-audit 2> cargo-audit.lookup.err
apropos -- cargo-audit | head -n 20
man -f -- cargo-audit 2>/dev/null || true
🏗️

30. زیرساخت به‌صورت کد و Policy as Code

13 ابزار و فرمان

terraformبررسی و برنامه‌ریزی IaC

378پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی HashiCorp Terraform

SYNTAXterraform COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
fmtقالب
initآماده‌سازی
validateاعتبارسنجی
planبرنامه
showنمایش
--chdirپوشه
applyاعمال
terraform fmt -check -recursive
terraform init -backend=false
terraform validate -json > validate.json
terraform plan -out lab.tfplan && terraform show -json lab.tfplan > plan.json

روش پیشنهادی: پیش از اجرای terraform نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- terraform | tee terraform.path
type -a -- terraform 2> terraform.lookup.err
apropos -- terraform | head -n 20
man -f -- terraform 2>/dev/null || true
⚠️ apply فقط پس از بازبینی plan و در workspace مجاز انجام شود.

tofuپیاده‌سازی باز OpenTofu برای IaC

379پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی OpenTofu

SYNTAXtofu COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
fmtقالب
initآماده‌سازی
validateاعتبارسنجی
planبرنامه
showنمایش
workspaceفضای کار
applyاعمال
tofu fmt -check -recursive
tofu init -backend=false
tofu validate -json > tofu-validate.json
tofu plan -out lab.plan && tofu show -json lab.plan > tofu-plan.json

روش پیشنهادی: پیش از اجرای tofu نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tofu | tee tofu.path
type -a -- tofu 2> tofu.lookup.err
apropos -- tofu | head -n 20
man -f -- tofu 2>/dev/null || true

ansibleاتوماسیون تکرارپذیر میزبان‌ها

380پیشرفتهکنترل‌شده

نصب: sudo apt install ansible-core

SYNTAXansible-playbook [OPTIONS] PLAYBOOK
زیرفرمان / گزینهکاربرد
--syntax-checkبررسی
--checkdry-run
--diffتفاوت
--list-tasksکارها
-iinventory
--limitمحدوده
ansible-inventory -i inventory.yml --graph
ansible-playbook -i inventory.yml site.yml --syntax-check
ansible-playbook -i inventory.yml site.yml --check --diff
ansible-playbook -i inventory.yml site.yml --list-tasks

روش پیشنهادی: پیش از اجرای ansible نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ansible | tee ansible.path
type -a -- ansible 2> ansible.lookup.err
apropos -- ansible | head -n 20
man -f -- ansible 2>/dev/null || true

ansible-lintlint playbook و roleهای Ansible

381پیشرفتهکنترل‌شده

نصب: pipx install ansible-lint

SYNTAXansible-lint [OPTIONS] [FILES]
زیرفرمان / گزینهکاربرد
--formatقالب
--profileپروفایل
--offlineآفلاین
--fixاصلاح
-xحذف rule
-rپوشه قواعد
ansible-lint site.yml
ansible-lint --format json site.yml > ansible-lint.json
ansible-lint --profile production roles/
ansible-lint --offline site.yml

روش پیشنهادی: پیش از اجرای ansible-lint نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ansible-lint | tee ansible-lint.path
type -a -- ansible-lint 2> ansible-lint.lookup.err
apropos -- ansible-lint | head -n 20
man -f -- ansible-lint 2>/dev/null || true

terrascanاسکن سیاست IaC و Kubernetes

382پیشرفتهکنترل‌شده

نصب: نصب release رسمی Terrascan

SYNTAXterrascan COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
scanاسکن
initسیاست‌ها
-tنوع
-dپوشه
-fفایل
-oقالب
--severityشدت
terrascan scan -t terraform -d .
terrascan scan -t k8s -f deployment.yaml -o json > terrascan.json
terrascan init
terrascan scan -t terraform --severity high

روش پیشنهادی: پیش از اجرای terrascan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- terrascan | tee terrascan.path
type -a -- terrascan 2> terrascan.lookup.err
apropos -- terrascan | head -n 20
man -f -- terrascan 2>/dev/null || true

tfsecتحلیل امنیتی Terraform

383پیشرفتهکنترل‌شده

نصب: نصب release رسمی tfsec

SYNTAXtfsec [OPTIONS] DIRECTORY
زیرفرمان / گزینهکاربرد
--formatقالب
--outخروجی
--minimum-severityحد
--excludeحذف check
--config-fileپیکربندی
--no-colorبدون رنگ
tfsec .
tfsec . --format json --out tfsec.json
tfsec . --minimum-severity HIGH
tfsec . --concise-output --no-color

روش پیشنهادی: پیش از اجرای tfsec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tfsec | tee tfsec.path
type -a -- tfsec 2> tfsec.lookup.err
apropos -- tfsec | head -n 20
man -f -- tfsec 2>/dev/null || true

kubeconformاعتبارسنجی schema منابع Kubernetes

384پیشرفتهکنترل‌شده

نصب: نصب release رسمی kubeconform

SYNTAXkubeconform [OPTIONS] FILES
زیرفرمان / گزینهکاربرد
-strictفیلد ناشناخته
-summaryخلاصه
-outputقالب
-kubernetes-versionنسخه
-schema-locationschema
-ignore-missing-schemasنادیده
kubeconform -strict manifests/
kubeconform -summary -output json manifests/ > kubeconform.json
kubeconform -kubernetes-version 1.31.0 manifests/
kustomize build overlays/lab | kubeconform -strict -summary

روش پیشنهادی: پیش از اجرای kubeconform نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kubeconform | tee kubeconform.path
type -a -- kubeconform 2> kubeconform.lookup.err
apropos -- kubeconform | head -n 20
man -f -- kubeconform 2>/dev/null || true

kube-scoreتحلیل best practice منابع Kubernetes

385پیشرفتهکنترل‌شده

نصب: نصب release رسمی kube-score

SYNTAXkube-score score [OPTIONS] FILES
زیرفرمان / گزینهکاربرد
scoreتحلیل
listبررسی‌ها
--output-formatقالب
--ignore-testحذف
--enable-optional-testاختیاری
-stdin
kube-score score deployment.yaml
kube-score score manifests/*.yaml --output-format json > kube-score.json
kustomize build overlays/lab | kube-score score -
kube-score list

روش پیشنهادی: پیش از اجرای kube-score نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kube-score | tee kube-score.path
type -a -- kube-score 2> kube-score.lookup.err
apropos -- kube-score | head -n 20
man -f -- kube-score 2>/dev/null || true

conftestآزمون config با سیاست Rego

386پیشرفتهکنترل‌شده

نصب: نصب release رسمی Conftest

SYNTAXconftest COMMAND [OPTIONS] FILES
زیرفرمان / گزینهکاربرد
verifyتست policy
testارزیابی
parseتبدیل
-pپوشه سیاست
--inputقالب
--outputقالب
--namespaceفضا
conftest verify --policy policy/
conftest test deployment.yaml --policy policy/
conftest test plan.json --input json --output json > conftest.json
conftest parse Dockerfile

روش پیشنهادی: پیش از اجرای conftest نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- conftest | tee conftest.path
type -a -- conftest 2> conftest.lookup.err
apropos -- conftest | head -n 20
man -f -- conftest 2>/dev/null || true

opaموتور عمومی Open Policy Agent

387پیشرفتهکنترل‌شده

نصب: نصب release رسمی OPA

SYNTAXopa COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
checkبررسی
testتست
evalارزیابی
fmtقالب
-ddata یا policy
-iinput
--formatقالب
opa check policy/
opa test policy/ -v
opa eval -d policy/ -i input.json 'data.lab.allow' --format pretty
opa fmt --diff policy/

روش پیشنهادی: پیش از اجرای opa نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- opa | tee opa.path
type -a -- opa 2> opa.lookup.err
apropos -- opa | head -n 20
man -f -- opa 2>/dev/null || true

kustomizeساخت overlayهای Kubernetes

388پیشرفتهکنترل‌شده

نصب: نصب release رسمی Kustomize

SYNTAXkustomize COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
buildساخت
cfg treeدرخت
editویرایش
--enable-helmHelm
--load-restrictorمحدودیت
--outputخروجی
kustomize build overlays/lab > rendered.yaml
kustomize build overlays/lab | kubeconform -strict
kustomize cfg tree overlays/lab
kustomize edit fix

روش پیشنهادی: پیش از اجرای kustomize نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kustomize | tee kustomize.path
type -a -- kustomize 2> kustomize.lookup.err
apropos -- kustomize | head -n 20
man -f -- kustomize 2>/dev/null || true

kicsاسکن امنیتی چندنوع IaC

389پیشرفتهکنترل‌شده

نصب: نصب release رسمی KICS

SYNTAXkics scan [OPTIONS]
زیرفرمان / گزینهکاربرد
scanاسکن
-pمسیر
-oخروجی
--report-formatsقالب‌ها
--fail-onحد
--typeنوع
--exclude-pathsحذف
kics scan -p . -o kics-results
kics scan -p terraform/ --report-formats json,sarif -o reports
kics scan -p . --minimal-ui --fail-on high
kics scan -p manifests/ --type Kubernetes

روش پیشنهادی: پیش از اجرای kics نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kics | tee kics.path
type -a -- kics 2> kics.lookup.err
apropos -- kics | head -n 20
man -f -- kics 2>/dev/null || true

cueاعتبارسنجی و تولید config ساختاریافته

390پیشرفتهکنترل‌شده

نصب: نصب release رسمی CUE

SYNTAXcue COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
vetاعتبارسنجی
evalارزیابی
exportخروجی
fmtقالب
--outقالب
-eexpression
-ddiff
cue vet config.cue values.yaml
cue eval config.cue
cue export config.cue --out yaml > rendered.yaml
cue fmt -d .

روش پیشنهادی: پیش از اجرای cue نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cue | tee cue.path
type -a -- cue 2> cue.lookup.err
apropos -- cue | head -n 20
man -f -- cue 2>/dev/null || true
🔬

31. ردیابی runtime، performance و crash

13 ابزار و فرمان

bpftraceردیابی سطح‌بالای eBPF

391پیشرفتهتحلیل

نصب: sudo apt install bpftrace

SYNTAXbpftrace [OPTIONS] PROGRAM
زیرفرمان / گزینهکاربرد
-lفهرست
-lvجزئیات
-eبرنامه
-pPID
-cCOMMAND
-oخروجی
-fقالب
sudo bpftrace -l 'tracepoint:syscalls:sys_enter_openat' | head
sudo timeout 10s bpftrace -e 'tracepoint:syscalls:sys_enter_execve { @[comm] = count(); }'
sudo bpftrace -lv 'tracepoint:sched:sched_process_exit' > probe.txt

روش پیشنهادی: پیش از اجرای bpftrace نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bpftrace | tee bpftrace.path
type -a -- bpftrace 2> bpftrace.lookup.err
apropos -- bpftrace | head -n 20
man -f -- bpftrace 2>/dev/null || true

bpftoolبازبینی object و برنامه‌های eBPF

392پیشرفتهتحلیل

نصب: sudo apt install bpftool

SYNTAXbpftool OBJECT COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
progبرنامه
mapmap
netشبکه
btfBTF
feature probeقابلیت
--jsonJSON
--prettyخوانا
sudo bpftool prog show --json | jq .
sudo bpftool map show
sudo bpftool net show
bpftool feature probe unprivileged > bpf-features.txt

روش پیشنهادی: پیش از اجرای bpftool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bpftool | tee bpftool.path
type -a -- bpftool 2> bpftool.lookup.err
apropos -- bpftool | head -n 20
man -f -- bpftool 2>/dev/null || true

perfپروفایل performance لینوکس

393پیشرفتهتحلیل

نصب: sudo apt install linux-perf

SYNTAXperf COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
statشمارنده
recordثبت
reportگزارش
scriptرویداد
-Fفرکانس
-gcall graph
-pPID
perf stat -- sleep 2
sudo perf record -F 99 -g -- timeout 10s COMMAND
sudo perf report --stdio > perf-report.txt
perf script > perf-script.txt

روش پیشنهادی: پیش از اجرای perf نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- perf | tee perf.path
type -a -- perf 2> perf.lookup.err
apropos -- perf | head -n 20
man -f -- perf 2>/dev/null || true

trace-cmdثبت tracepointهای kernel

394پیشرفتهتحلیل

نصب: sudo apt install trace-cmd

SYNTAXtrace-cmd COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
listفهرست
recordثبت
reportگزارش
statوضعیت
-eرویداد
-ptracer
-oخروجی
sudo trace-cmd list -e sched | head
sudo trace-cmd record -e sched_switch -e sched_wakeup sleep 5
trace-cmd report > trace-report.txt
trace-cmd stat

روش پیشنهادی: پیش از اجرای trace-cmd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- trace-cmd | tee trace-cmd.path
type -a -- trace-cmd 2> trace-cmd.lookup.err
apropos -- trace-cmd | head -n 20
man -f -- trace-cmd 2>/dev/null || true

kernelsharkنمایش گرافیکی trace-cmd

395پیشرفتهتحلیل

نصب: sudo apt install kernelshark

SYNTAXkernelshark [OPTIONS] [TRACE_FILES]
زیرفرمان / گزینهکاربرد
-iورودی
-pplugin
--versionنسخه
TRACE_FILEStraceها
Sessionنشست
Filterفیلتر
kernelshark trace.dat
kernelshark -i trace.dat
kernelshark --version
trace-cmd report -i trace.dat > trace.txt

روش پیشنهادی: پیش از اجرای kernelshark نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kernelshark | tee kernelshark.path
type -a -- kernelshark 2> kernelshark.lookup.err
apropos -- kernelshark | head -n 20
man -f -- kernelshark 2>/dev/null || true

valgrindتحلیل حافظه و رفتار برنامه بومی

396پیشرفتهتحلیل

نصب: sudo apt install valgrind

SYNTAXvalgrind [OPTIONS] PROGRAM
زیرفرمان / گزینهکاربرد
--toolابزار
--leak-checkنشت
--track-originsمنشأ
--log-filelog
callgrindپروفایل
massifheap
valgrind --tool=memcheck --leak-check=full ./lab-app
valgrind --tool=callgrind ./lab-app
valgrind --tool=massif ./lab-app
ms_print massif.out.* > massif.txt

روش پیشنهادی: پیش از اجرای valgrind نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- valgrind | tee valgrind.path
type -a -- valgrind 2> valgrind.lookup.err
apropos -- valgrind | head -n 20
man -f -- valgrind 2>/dev/null || true

heaptrackپروفایل allocationهای heap

397پیشرفتهتحلیل

نصب: sudo apt install heaptrack heaptrack-gui

SYNTAXheaptrack [OPTIONS] PROGRAM
زیرفرمان / گزینهکاربرد
-pPID
-oخروجی
heaptrack_printمتنی
heaptrack_guiگرافیکی
--record-onlyفقط ثبت
--debugدیباگ
heaptrack ./lab-app
heaptrack -p PID
heaptrack_print heaptrack.lab-app.*.gz > heaptrack.txt
heaptrack_gui heaptrack.lab-app.*.gz

روش پیشنهادی: پیش از اجرای heaptrack نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- heaptrack | tee heaptrack.path
type -a -- heaptrack 2> heaptrack.lookup.err
apropos -- heaptrack | head -n 20
man -f -- heaptrack 2>/dev/null || true

rrضبط و بازپخش قطعی برنامه

398پیشرفتهتحلیل

نصب: sudo apt install rr

SYNTAXrr COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
recordضبط
replayبازپخش
lsفهرست
dumpرویداد
-aخودکار
-oخروجی trace
-nشماره رویداد
rr record ./lab-app
rr ls
rr replay
rr replay -a > replay.txt

روش پیشنهادی: پیش از اجرای rr نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rr | tee rr.path
type -a -- rr 2> rr.lookup.err
apropos -- rr | head -n 20
man -f -- rr 2>/dev/null || true

gcoreگرفتن core از process مجاز

399پیشرفتهتحلیل

نصب: sudo apt install gdb

SYNTAXgcore [OPTIONS] PID
زیرفرمان / گزینهکاربرد
-oprefix
-aهمه mapping
PIDفرایند
gdbتحلیل
thread apply all btbacktrace
coreداده حساس
sudo gcore -o core.lab PID
file core.lab.PID
sha256sum core.lab.PID > core.sha256
gdb -batch -ex 'thread apply all bt' PROGRAM core.lab.PID > backtrace.txt

روش پیشنهادی: پیش از اجرای gcore نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gcore | tee gcore.path
type -a -- gcore 2> gcore.lookup.err
apropos -- gcore | head -n 20
man -f -- gcore 2>/dev/null || true
⚠️ core ممکن است secret داشته باشد؛ دسترسی و نگهداری آن را محدود کنید.

pstackنمایش stack threadهای process

400پیشرفتهتحلیل

نصب: sudo apt install pstack

SYNTAXpstack PID
زیرفرمان / گزینهکاربرد
PIDفرایند
stdoutstack
stderrخطا
timeoutمحدودیت
teeثبت
sudo pstack PID | tee pstack.txt
timeout 5s sudo pstack PID > stack.txt 2>stack.err
sha256sum pstack.txt > pstack.sha256

روش پیشنهادی: پیش از اجرای pstack نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pstack | tee pstack.path
type -a -- pstack 2> pstack.lookup.err
apropos -- pstack | head -n 20
man -f -- pstack 2>/dev/null || true

eu-stackstack trace با elfutils

401پیشرفتهتحلیل

نصب: sudo apt install elfutils

SYNTAXeu-stack [OPTIONS]
زیرفرمان / گزینهکاربرد
-pPID
--corecore
--executableبرنامه
-vجزئیات
-qساکت
-mmodule
sudo eu-stack -p PID
eu-stack --core core.lab --executable ./lab-app
eu-stack -v -p PID > eu-stack.txt
eu-stack -q -p PID

روش پیشنهادی: پیش از اجرای eu-stack نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- eu-stack | tee eu-stack.path
type -a -- eu-stack 2> eu-stack.lookup.err
apropos -- eu-stack | head -n 20
man -f -- eu-stack 2>/dev/null || true

sysdigثبت syscall و مشاهده runtime

402پیشرفتهتحلیل

نصب: sudo apt install sysdig

SYNTAXsysdig [OPTIONS] [FILTER]
زیرفرمان / گزینهکاربرد
-wذخیره
-rخواندن
-pقالب
-cchisel
-lفیلدها
-clفهرست chisel
FILTERفیلتر
sudo timeout 10s sysdig proc.name=lab-app
sudo sysdig -w capture.scap proc.name=lab-app
sysdig -r capture.scap -p '%evt.time %proc.name %evt.type' > events.txt
sysdig -cl | head

روش پیشنهادی: پیش از اجرای sysdig نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sysdig | tee sysdig.path
type -a -- sysdig 2> sysdig.lookup.err
apropos -- sysdig | head -n 20
man -f -- sysdig 2>/dev/null || true

systemtapinstrumentation پویا kernel و user space

403پیشرفتهتحلیل

نصب: sudo apt install systemtap

SYNTAXstap [OPTIONS] SCRIPT
زیرفرمان / گزینهکاربرد
-pمرحله compile
-vجزئیات
-Lprobeها
-lفهرست
-xPID
-oخروجی
stap-reportگزارش
stap -p4 script.stp
sudo timeout 10s stap -v script.stp > stap.log
stap -L 'process("./lab-app").function("*")' | head
stap-report > stap-report.txt

روش پیشنهادی: پیش از اجرای systemtap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- systemtap | tee systemtap.path
type -a -- systemtap 2> systemtap.lookup.err
apropos -- systemtap | head -n 20
man -f -- systemtap 2>/dev/null || true
🧭

32. زیرساخت شبکه، routing و لینک

13 ابزار و فرمان

birdcکنترل و بازبینی BIRD routing daemon

404پیشرفتهکنترل‌شده

نصب: sudo apt install bird2

SYNTAXbirdc [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
show statusوضعیت
show protocolsپروتکل‌ها
show routeمسیرها
configure checkبررسی
-ssocket
-rفقط‌خواندنی
sudo birdc show status
sudo birdc show protocols all
sudo birdc show route count
sudo birdc configure check

روش پیشنهادی: پیش از اجرای birdc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- birdc | tee birdc.path
type -a -- birdc 2> birdc.lookup.err
apropos -- birdc | head -n 20
man -f -- birdc 2>/dev/null || true

vtyshرابط FRRouting برای routing suite

405پیشرفتهکنترل‌شده

نصب: sudo apt install frr

SYNTAXvtysh [OPTIONS]
زیرفرمان / گزینهکاربرد
-cفرمان
-fفایل
-Cبررسی config
-Emark error
show ip routeمسیر
show bgpهمسایه
sudo vtysh -c 'show version'
sudo vtysh -c 'show ip route summary'
sudo vtysh -c 'show bgp summary json' > bgp.json
sudo vtysh -C -f /etc/frr/frr.conf

روش پیشنهادی: پیش از اجرای vtysh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- vtysh | tee vtysh.path
type -a -- vtysh 2> vtysh.lookup.err
apropos -- vtysh | head -n 20
man -f -- vtysh 2>/dev/null || true

gobgpکلاینت و daemon مدرن BGP

406پیشرفتهکنترل‌شده

نصب: نصب release رسمی GoBGP

SYNTAXgobgp [GLOBAL_OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
globalوضعیت
neighborهمسایه
global ribRIB
-aaddress family
-jJSON
-uآدرس gRPC
-ttimeout
gobgp global
gobgp neighbor
gobgp global rib -a ipv4 | tee rib.txt
gobgp neighbor -j > neighbors.json

روش پیشنهادی: پیش از اجرای gobgp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gobgp | tee gobgp.path
type -a -- gobgp 2> gobgp.lookup.err
apropos -- gobgp | head -n 20
man -f -- gobgp 2>/dev/null || true

exabgpاعلان و اتوماسیون BGP در لابراتوار

407پیشرفتهکنترل‌شده

نصب: sudo apt install exabgp

SYNTAXexabgp [OPTIONS] CONFIG
زیرفرمان / گزینهکاربرد
--validateاعتبارسنجی
--decodedecode
exabgpcliکنترل
show neighborهمسایه
CONFIGپیکربندی
timeoutمحدودیت
exabgp --validate lab.conf
exabgp --decode 'FFFFFFFF...'
timeout 30s exabgp lab.conf > exabgp.log 2>&1
exabgpcli show neighbor summary

روش پیشنهادی: پیش از اجرای exabgp نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- exabgp | tee exabgp.path
type -a -- exabgp 2> exabgp.lookup.err
apropos -- exabgp | head -n 20
man -f -- exabgp 2>/dev/null || true
⚠️ اعلان route فقط در لابراتوار BGP ایزوله یا شبکه‌ای با مجوز اپراتور انجام شود.

routinatorاعتبارسنج RPKI و RTR server

408پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی Routinator

SYNTAXroutinator COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
configپیکربندی
vrpsROAها
validateاعتبارسنجی route
serverRTR
--formatقالب
--jsonJSON
routinator --version
routinator config --print > routinator-default.toml
routinator vrps --format csv > vrps.csv
routinator validate --json 64496 192.0.2.0/24 | jq .

روش پیشنهادی: پیش از اجرای routinator نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- routinator | tee routinator.path
type -a -- routinator 2> routinator.lookup.err
apropos -- routinator | head -n 20
man -f -- routinator 2>/dev/null || true

dhclientدریافت و مدیریت lease آزمایشگاهی DHCP

409پیشرفتهکنترل‌شده

نصب: sudo apt install isc-dhcp-client

SYNTAXdhclient [OPTIONS] INTERFACE
زیرفرمان / گزینهکاربرد
-vجزئیات
-1یک تلاش
-rrelease
-dforeground
-sfscript
-lflease file
-cfconfig
sudo dhclient -v -1 eth0
sudo dhclient -r eth0
sudo dhclient -d -sf /bin/true eth0
cat /var/lib/dhcp/dhclient.leases | tail -40

روش پیشنهادی: پیش از اجرای dhclient نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dhclient | tee dhclient.path
type -a -- dhclient 2> dhclient.lookup.err
apropos -- dhclient | head -n 20
man -f -- dhclient 2>/dev/null || true
⚠️ release یا renew روی رابط راه‌دور می‌تواند ارتباط را قطع کند.

dhcpingآزمون پاسخ DHCP در شبکه مجاز

410پیشرفتهکنترل‌شده

نصب: sudo apt install dhcping

SYNTAXdhcping [OPTIONS]
زیرفرمان / گزینهکاربرد
-sسرور
-cIP کلاینت
-hMAC
-vجزئیات
-qساکت
-rrequest
-ttimeout
sudo dhcping -s DHCP_SERVER -c CLIENT_IP -h CLIENT_MAC
sudo timeout 5s dhcping -v -s DHCP_SERVER -c CLIENT_IP
dhcping -q -s DHCP_SERVER -c CLIENT_IP

روش پیشنهادی: پیش از اجرای dhcping نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dhcping | tee dhcping.path
type -a -- dhcping 2> dhcping.lookup.err
apropos -- dhcping | head -n 20
man -f -- dhcping 2>/dev/null || true

arpingآزمون ARP و IP تکراری

411پیشرفتهکنترل‌شده

نصب: sudo apt install iputils-arping

SYNTAXarping [OPTIONS] DESTINATION
زیرفرمان / گزینهکاربرد
-Dduplicate detection
-Iرابط
-cتعداد
-wdeadline
-Uunsolicited
-Areply
DESTINATIONIP
sudo arping -D -I eth0 192.0.2.10 -c 3
sudo arping -I eth0 GATEWAY -c 5
sudo arping -U -I eth0 192.0.2.10 -c 1

روش پیشنهادی: پیش از اجرای arping نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- arping | tee arping.path
type -a -- arping 2> arping.lookup.err
apropos -- arping | head -n 20
man -f -- arping 2>/dev/null || true
⚠️ gratuitous ARP را فقط هنگام تغییر کنترل‌شده شبکه اجرا کنید.

ethtoolبررسی driver و وضعیت لینک Ethernet

412پیشرفتهکنترل‌شده

نصب: sudo apt install ethtool

SYNTAXethtool [OPTIONS] DEVICE
زیرفرمان / گزینهکاربرد
-idriver
-Sآمار
-koffload
-gring
-ccoalesce
-sتغییر لینک
--jsonJSON
sudo ethtool eth0
sudo ethtool -i eth0
sudo ethtool -S eth0 > nic-stats.txt
sudo ethtool -k eth0

روش پیشنهادی: پیش از اجرای ethtool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ethtool | tee ethtool.path
type -a -- ethtool 2> ethtool.lookup.err
apropos -- ethtool | head -n 20
man -f -- ethtool 2>/dev/null || true

tcکنترل و مشاهده traffic control

413پیشرفتهکنترل‌شده

نصب: پیش‌فرض iproute2

SYNTAXtc [OPTIONS] OBJECT COMMAND
زیرفرمان / گزینهکاربرد
qdiscصف
classکلاس
filterفیلتر
-sآمار
netemشبیه‌سازی
addافزودن
delحذف
tc qdisc show dev eth0
tc -s class show dev eth0
sudo tc qdisc add dev lab0 root netem delay 50ms loss 1%
sudo tc qdisc del dev lab0 root

روش پیشنهادی: پیش از اجرای tc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tc | tee tc.path
type -a -- tc 2> tc.lookup.err
apropos -- tc | head -n 20
man -f -- tc 2>/dev/null || true
⚠️ netem فقط روی رابط لابراتوار اجرا شود؛ ممکن است ترافیک را مختل کند.

bridgeمدیریت و بررسی Linux bridge

414پیشرفتهکنترل‌شده

نصب: پیش‌فرض iproute2

SYNTAXbridge [OPTIONS] OBJECT COMMAND
زیرفرمان / گزینهکاربرد
linkلینک
fdbجدول forwarding
vlanVLAN
mdbmulticast
-jJSON
-sآمار
-dجزئیات
bridge link show
bridge fdb show br br0 | tee fdb.txt
bridge vlan show
bridge -j mdb show | jq .

روش پیشنهادی: پیش از اجرای bridge نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- bridge | tee bridge.path
type -a -- bridge 2> bridge.lookup.err
apropos -- bridge | head -n 20
man -f -- bridge 2>/dev/null || true

iperf3اندازه‌گیری throughput در لابراتوار

415پیشرفتهکنترل‌شده

نصب: sudo apt install iperf3

SYNTAXiperf3 [OPTIONS]
زیرفرمان / گزینهکاربرد
-sسرور
-cکلاینت
-1یک اتصال
-tزمان
-Pجریان
-Rمعکوس
-bنرخ
--jsonJSON
iperf3 -s -1 --json > server.json
iperf3 -c TARGET -t 10 -P 2 --json > client.json
iperf3 -c TARGET -R -b 20M -t 10
jq '.end.sum_received.bits_per_second' client.json

روش پیشنهادی: پیش از اجرای iperf3 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- iperf3 | tee iperf3.path
type -a -- iperf3 2> iperf3.lookup.err
apropos -- iperf3 | head -n 20
man -f -- iperf3 2>/dev/null || true

lldpcliبازبینی همسایه‌های LLDP

416پیشرفتهکنترل‌شده

نصب: sudo apt install lldpd

SYNTAXlldpcli [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
show neighborsهمسایه‌ها
show interfacesرابط‌ها
-fقالب
-usocket
configureتنظیم
watchپایش
sudo lldpcli show neighbors
sudo lldpcli show neighbors details
sudo lldpcli -f json show neighbors > lldp.json
sudo lldpcli show interfaces

روش پیشنهادی: پیش از اجرای lldpcli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- lldpcli | tee lldpcli.path
type -a -- lldpcli 2> lldpcli.lookup.err
apropos -- lldpcli | head -n 20
man -f -- lldpcli 2>/dev/null || true
🌐

33. DNSSEC، resolver و مدیریت zone

13 ابزار و فرمان

delvاعتبارسنجی DNSSEC با chain of trust

417پیشرفتهدفاعی

نصب: sudo apt install bind9-dnsutils

SYNTAXdelv [OPTIONS] NAME [TYPE]
زیرفرمان / گزینهکاربرد
@SERVERresolver
+rtraceزنجیره
+multiچندخط
-atrust anchor
-tنوع
-qنام
delv example.test A
delv +rtrace example.test DNSKEY
delv @RESOLVER example.test A +multi
delv -a trust-anchor.key signed.example.test SOA

روش پیشنهادی: پیش از اجرای delv نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- delv | tee delv.path
type -a -- delv 2> delv.lookup.err
apropos -- delv | head -n 20
man -f -- delv 2>/dev/null || true

kdigپرس‌وجوی DNS پیشرفته از Knot

418پیشرفتهدفاعی

نصب: sudo apt install knot-dnsutils

SYNTAXkdig [OPTIONS] NAME [TYPE]
زیرفرمان / گزینهکاربرد
@SERVERسرور
+dnssecDNSSEC
+tlsDoT
+httpsDoH
+multilineخوانا
-pپورت
kdig example.test A +dnssec
kdig @RESOLVER example.test DNSKEY +multiline
kdig +tls @RESOLVER example.test A
kdig +https @RESOLVER example.test AAAA

روش پیشنهادی: پیش از اجرای kdig نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kdig | tee kdig.path
type -a -- kdig 2> kdig.lookup.err
apropos -- kdig | head -n 20
man -f -- kdig 2>/dev/null || true

drillپرس‌وجو و trace با ldns

419پیشرفتهدفاعی

نصب: sudo apt install ldnsutils

SYNTAXdrill [OPTIONS] NAME [TYPE]
زیرفرمان / گزینهکاربرد
-Ttrace
-DDNSSEC
-Sتعقیب DNSSEC
-kکلید
@SERVERسرور
-pپورت
drill example.test A
drill -TD example.test
drill -S signed.example.test A
drill @RESOLVER example.test DNSKEY

روش پیشنهادی: پیش از اجرای drill نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- drill | tee drill.path
type -a -- drill 2> drill.lookup.err
apropos -- drill | head -n 20
man -f -- drill 2>/dev/null || true

ldns-verify-zoneاعتبارسنجی zone امضاشده

420پیشرفتهدفاعی

نصب: sudo apt install ldnsutils

SYNTAXldns-verify-zone [OPTIONS] ZONEFILE
زیرفرمان / گزینهکاربرد
-Vverbosity
-kکلید
-eمدت signature
-pperiod
-Sscheme
ZONEFILEzone
ldns-verify-zone signed.zone
ldns-verify-zone -V 2 signed.zone | tee zone-verify.txt
ldns-verify-zone -k trusted.keys signed.zone
ldns-verify-zone -e 3600 signed.zone

روش پیشنهادی: پیش از اجرای ldns-verify-zone نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ldns-verify-zone | tee ldns-verify-zone.path
type -a -- ldns-verify-zone 2> ldns-verify-zone.lookup.err
apropos -- ldns-verify-zone | head -n 20
man -f -- ldns-verify-zone 2>/dev/null || true

dnssec-verifyبررسی سازگاری DNSSEC zone

421پیشرفتهدفاعی

نصب: sudo apt install bind9-utils

SYNTAXdnssec-verify [OPTIONS] ZONEFILE
زیرفرمان / گزینهکاربرد
-oorigin
-vverbosity
-Iقالب ورودی
-xفقط KSK
-zZSK همه
ZONEFILEzone
dnssec-verify -o example.test signed.zone
dnssec-verify -v 2 -o example.test signed.zone
dnssec-verify -I full -o example.test signed.zone | tee verify.log

روش پیشنهادی: پیش از اجرای dnssec-verify نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dnssec-verify | tee dnssec-verify.path
type -a -- dnssec-verify 2> dnssec-verify.lookup.err
apropos -- dnssec-verify | head -n 20
man -f -- dnssec-verify 2>/dev/null || true

named-checkconfاعتبارسنجی پیکربندی BIND

422پیشرفتهدفاعی

نصب: sudo apt install bind9-utils

SYNTAXnamed-checkconf [OPTIONS] [CONFIG]
زیرفرمان / گزینهکاربرد
-zآزمون zone
-pچاپ
-lفهرست zone
-tchroot
-xmask secret
CONFIGفایل
named-checkconf
named-checkconf -z /etc/bind/named.conf
named-checkconf -p /etc/bind/named.conf > named-expanded.conf
named-checkconf -l /etc/bind/named.conf

روش پیشنهادی: پیش از اجرای named-checkconf نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- named-checkconf | tee named-checkconf.path
type -a -- named-checkconf 2> named-checkconf.lookup.err
apropos -- named-checkconf | head -n 20
man -f -- named-checkconf 2>/dev/null || true

unbound-checkconfاعتبارسنجی resolver Unbound

423پیشرفتهدفاعی

نصب: sudo apt install unbound

SYNTAXunbound-checkconf [CONFIG]
زیرفرمان / گزینهکاربرد
-oمقدار گزینه
-fمسیر کامل
-hراهنما
CONFIGپیکربندی
forward-zoneforwarder
stub-zonestub
unbound-checkconf
unbound-checkconf /etc/unbound/unbound.conf
unbound-checkconf -o verbosity
unbound-checkconf -f -o forward-zone

روش پیشنهادی: پیش از اجرای unbound-checkconf نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- unbound-checkconf | tee unbound-checkconf.path
type -a -- unbound-checkconf 2> unbound-checkconf.lookup.err
apropos -- unbound-checkconf | head -n 20
man -f -- unbound-checkconf 2>/dev/null || true

knotcکنترل Knot DNS server

424پیشرفتهدفاعی

نصب: sudo apt install knot

SYNTAXknotc [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
statusوضعیت
conf-checkپیکربندی
zone-statuszone
zone-checkبررسی
reloadبازخوانی
-cفایل
sudo knotc status
sudo knotc conf-check
sudo knotc zone-status example.test
sudo knotc zone-check example.test

روش پیشنهادی: پیش از اجرای knotc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- knotc | tee knotc.path
type -a -- knotc 2> knotc.lookup.err
apropos -- knotc | head -n 20
man -f -- knotc 2>/dev/null || true

rndcکنترل امن BIND server

425پیشرفتهدفاعی

نصب: sudo apt install bind9-utils

SYNTAXrndc [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
statusوضعیت
zonestatuszone
validation statusDNSSEC
reconfigبازخوانی
reloadzone
-sسرور
sudo rndc status
sudo rndc zonestatus example.test
sudo rndc validation status
sudo rndc reconfig

روش پیشنهادی: پیش از اجرای rndc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- rndc | tee rndc.path
type -a -- rndc 2> rndc.lookup.err
apropos -- rndc | head -n 20
man -f -- rndc 2>/dev/null || true

pdnsutilمدیریت zoneهای PowerDNS

426پیشرفتهدفاعی

نصب: sudo apt install pdns-tools

SYNTAXpdnsutil COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
check-zoneبررسی
list-zoneرکوردها
show-zonemetadata
rectify-zoneاصلاح DNSSEC
secure-zoneامضا
sudo pdnsutil check-zone example.test
sudo pdnsutil list-zone example.test
sudo pdnsutil show-zone example.test
sudo pdnsutil rectify-zone example.test

روش پیشنهادی: پیش از اجرای pdnsutil نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pdnsutil | tee pdnsutil.path
type -a -- pdnsutil 2> pdnsutil.lookup.err
apropos -- pdnsutil | head -n 20
man -f -- pdnsutil 2>/dev/null || true

dnsdistبررسی و کنترل DNS load balancer

427پیشرفتهدفاعی

نصب: sudo apt install dnsdist

SYNTAXdnsdist [OPTIONS]
زیرفرمان / گزینهکاربرد
--check-configاعتبارسنجی
--configفایل
-cکلاینت
-eفرمان
showServersbackend
showStatsآمار
dnsdist --check-config
dnsdist --config /etc/dnsdist/dnsdist.conf --check-config
dnsdist -c -e 'showServers()'
dnsdist -c -e 'showStats()' > dnsdist-stats.txt

روش پیشنهادی: پیش از اجرای dnsdist نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dnsdist | tee dnsdist.path
type -a -- dnsdist 2> dnsdist.lookup.err
apropos -- dnsdist | head -n 20
man -f -- dnsdist 2>/dev/null || true

dnsvizتحلیل تصویری زنجیره DNSSEC

428پیشرفتهدفاعی

نصب: pipx install dnsviz

SYNTAXdnsviz COMMAND [OPTIONS] NAME
زیرفرمان / گزینهکاربرد
probeجمع‌آوری
analyzeتحلیل
graphنمودار
printمتن
-oخروجی
-Tقالب
dnsviz probe example.test -o probe.json
dnsviz analyze probe.json > analysis.txt
dnsviz graph -T svg probe.json -o dnssec.svg
dnsviz print probe.json

روش پیشنهادی: پیش از اجرای dnsviz نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dnsviz | tee dnsviz.path
type -a -- dnsviz 2> dnsviz.lookup.err
apropos -- dnsviz | head -n 20
man -f -- dnsviz 2>/dev/null || true

zonemaster-cliآزمون سلامت و delegation دامنه

429پیشرفتهدفاعی

نصب: sudo apt install zonemaster-cli

SYNTAXzonemaster-cli [OPTIONS] DOMAIN
زیرفرمان / گزینهکاربرد
--levelشدت
--jsonJSON
--testماژول
--profileپروفایل
--nsnameserver
--ipv4IPv4
zonemaster-cli example.test
zonemaster-cli --level warning example.test
zonemaster-cli --json example.test > zonemaster.json
zonemaster-cli --test delegation example.test

روش پیشنهادی: پیش از اجرای zonemaster-cli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- zonemaster-cli | tee zonemaster-cli.path
type -a -- zonemaster-cli 2> zonemaster-cli.lookup.err
apropos -- zonemaster-cli | head -n 20
man -f -- zonemaster-cli 2>/dev/null || true
🚦

34. Reverse proxy، gateway و آزمون ظرفیت

13 ابزار و فرمان

haproxyاعتبارسنجی و مشاهده HAProxy

430پیشرفتهکنترل‌شده

نصب: sudo apt install haproxy

SYNTAXhaproxy [OPTIONS]
زیرفرمان / گزینهکاربرد
-cبررسی config
-fفایل
-Vجزئیات
-vvbuild
show infoوضعیت
show statآمار
haproxy -c -f /etc/haproxy/haproxy.cfg
haproxy -vv > haproxy-build.txt
echo 'show info' | socat - /run/haproxy/admin.sock
echo 'show stat' | socat - /run/haproxy/admin.sock > stats.csv

روش پیشنهادی: پیش از اجرای haproxy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- haproxy | tee haproxy.path
type -a -- haproxy 2> haproxy.lookup.err
apropos -- haproxy | head -n 20
man -f -- haproxy 2>/dev/null || true

nginxاعتبارسنجی و کنترل Nginx

431پیشرفتهکنترل‌شده

نصب: sudo apt install nginx

SYNTAXnginx [OPTIONS]
زیرفرمان / گزینهکاربرد
-tبررسی
-Tچاپ کامل
-Vbuild
-ssignal
-cفایل
-pprefix
sudo nginx -t
sudo nginx -T > nginx-expanded.conf
nginx -V 2> nginx-build.txt
sudo nginx -s reload

روش پیشنهادی: پیش از اجرای nginx نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- nginx | tee nginx.path
type -a -- nginx 2> nginx.lookup.err
apropos -- nginx | head -n 20
man -f -- nginx 2>/dev/null || true

caddyوب‌سرور و reverse proxy خودکار TLS

432پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی Caddy

SYNTAXcaddy COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
validateاعتبارسنجی
adaptJSON
fmtقالب
runاجرا
reloadبازخوانی
--configفایل
caddy validate --config Caddyfile
caddy adapt --config Caddyfile --pretty > caddy.json
caddy fmt --diff Caddyfile
caddy run --config Caddyfile --watch

روش پیشنهادی: پیش از اجرای caddy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- caddy | tee caddy.path
type -a -- caddy 2> caddy.lookup.err
apropos -- caddy | head -n 20
man -f -- caddy 2>/dev/null || true

traefikedge router برای سرویس و کانتینر

433پیشرفتهکنترل‌شده

نصب: نصب release رسمی Traefik

SYNTAXtraefik [OPTIONS]
زیرفرمان / گزینهکاربرد
check-configاعتبارسنجی
healthcheckسلامت
versionنسخه
--configFileفایل
--log.levelسطح
--pingping
traefik version
traefik check-config --configFile=traefik.yml
traefik healthcheck --ping
traefik --configFile=traefik.yml 2>traefik.log

روش پیشنهادی: پیش از اجرای traefik نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- traefik | tee traefik.path
type -a -- traefik 2> traefik.lookup.err
apropos -- traefik | head -n 20
man -f -- traefik 2>/dev/null || true

envoyservice proxy و gateway قابل مشاهده

434پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی Envoy

SYNTAXenvoy [OPTIONS]
زیرفرمان / گزینهکاربرد
--mode validateبررسی
--mode init_onlyinit
-cفایل
--config-dumpخروجی
--log-levelسطح
--concurrencythread
envoy --mode validate -c envoy.yaml
envoy --mode init_only -c envoy.yaml
envoy --config-dump -c envoy.yaml > envoy-config.json
envoy -c envoy.yaml --log-level warning

روش پیشنهادی: پیش از اجرای envoy نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- envoy | tee envoy.path
type -a -- envoy 2> envoy.lookup.err
apropos -- envoy | head -n 20
man -f -- envoy 2>/dev/null || true

varnishHTTP cache و VCL runtime

435پیشرفتهکنترل‌شده

نصب: sudo apt install varnish

SYNTAXvarnishd [OPTIONS]
زیرفرمان / گزینهکاربرد
-Ccompile VCL
-fVCL
varnishadmکنترل
varnishstatآمار
varnishloglog
-qquery
varnishd -C -f default.vcl > compiled.c
varnishadm status
varnishstat -1 -j > varnish-stats.json
varnishlog -g request -q 'RespStatus >= 500' -c

روش پیشنهادی: پیش از اجرای varnish نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- varnish | tee varnish.path
type -a -- varnish 2> varnish.lookup.err
apropos -- varnish | head -n 20
man -f -- varnish 2>/dev/null || true

squidforward proxy و cache

436پیشرفتهکنترل‌شده

نصب: sudo apt install squid

SYNTAXsquid [OPTIONS]
زیرفرمان / گزینهکاربرد
-k parseبررسی
-zپوشه cache
squidclientمدیریت
mgr:infoوضعیت
mgr:countersآمار
-fفایل
squid -k parse
squid -z
squidclient -h 127.0.0.1 mgr:info > squid-info.txt
squidclient -h 127.0.0.1 mgr:counters > squid-counters.txt

روش پیشنهادی: پیش از اجرای squid نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- squid | tee squid.path
type -a -- squid 2> squid.lookup.err
apropos -- squid | head -n 20
man -f -- squid 2>/dev/null || true

apachectlکنترل و تحلیل Apache HTTP Server

437پیشرفتهکنترل‌شده

نصب: sudo apt install apache2

SYNTAXapachectl [OPTIONS]
زیرفرمان / گزینهکاربرد
configtestاعتبارسنجی
-Svhost
-Mماژول
-tsyntax
-D DUMP_RUN_CFGruntime
-Vbuild
sudo apachectl configtest
apachectl -S
apachectl -M | sort > modules.txt
apachectl -t -D DUMP_RUN_CFG > runtime-config.txt

روش پیشنهادی: پیش از اجرای apachectl نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- apachectl | tee apachectl.path
type -a -- apachectl 2> apachectl.lookup.err
apropos -- apachectl | head -n 20
man -f -- apachectl 2>/dev/null || true

h2specآزمون انطباق HTTP/2

438پیشرفتهکنترل‌شده

نصب: نصب release رسمی h2spec

SYNTAXh2spec [OPTIONS]
زیرفرمان / گزینهکاربرد
-hhost
-pپورت
-tTLS
--strictسخت‌گیرانه
-ssection
-otimeout
--dry-runفهرست
h2spec -h TARGET -p 443 -t
h2spec -h TARGET -p 443 --strict
h2spec -h TARGET -p 8443 -s 6
timeout 60s h2spec -h TARGET -p 443 > h2spec.txt

روش پیشنهادی: پیش از اجرای h2spec نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- h2spec | tee h2spec.path
type -a -- h2spec 2> h2spec.lookup.err
apropos -- h2spec | head -n 20
man -f -- h2spec 2>/dev/null || true

vegetaآزمون بار HTTP با نرخ کنترل‌شده

439پیشرفتهکنترل‌شده

نصب: نصب release رسمی Vegeta

SYNTAXvegeta COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
attackبار
reportگزارش
plotنمودار
-rateنرخ
-durationزمان
-typeقالب
printf 'GET https://TARGET/health\n' | vegeta attack -rate=5/s -duration=10s > results.bin
vegeta report results.bin | tee report.txt
vegeta report -type=json results.bin > report.json
vegeta plot results.bin > plot.html

روش پیشنهادی: پیش از اجرای vegeta نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- vegeta | tee vegeta.path
type -a -- vegeta 2> vegeta.lookup.err
apropos -- vegeta | head -n 20
man -f -- vegeta 2>/dev/null || true
⚠️ نرخ و مدت را مطابق سقف مصوب آزمون محدود کنید.

heyload generator ساده HTTP

440پیشرفتهکنترل‌شده

نصب: نصب release رسمی hey

SYNTAXhey [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-nتعداد
-cهم‌زمانی
-zمدت
-qنرخ هر worker
-mmethod
-Hheader
-dbody
hey -n 50 -c 2 https://TARGET/health
hey -z 10s -q 5 -c 2 https://TARGET/health
hey -m POST -H 'Content-Type: application/json' -d '{"ping":true}' https://TARGET/api/test

روش پیشنهادی: پیش از اجرای hey نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hey | tee hey.path
type -a -- hey 2> hey.lookup.err
apropos -- hey | head -n 20
man -f -- hey 2>/dev/null || true

abbenchmark کلاسیک Apache HTTP

441پیشرفتهکنترل‌شده

نصب: sudo apt install apache2-utils

SYNTAXab [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-nتعداد
-cهم‌زمانی
-kkeepalive
-ggnuplot
-Hheader
-pbody
-Tcontent type
ab -n 50 -c 2 https://TARGET/health
ab -n 20 -c 1 -k https://TARGET/health
ab -n 10 -c 1 -g ab.tsv https://TARGET/health
timeout 30s ab -n 100 -c 2 https://TARGET/health > ab.txt

روش پیشنهادی: پیش از اجرای ab نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ab | tee ab.path
type -a -- ab 2> ab.lookup.err
apropos -- ab | head -n 20
man -f -- ab 2>/dev/null || true

wrkbenchmark چندریسمانی HTTP

442پیشرفتهکنترل‌شده

نصب: sudo apt install wrk

SYNTAXwrk [OPTIONS] URL
زیرفرمان / گزینهکاربرد
-tthread
-cconnection
-dمدت
--latencyتوزیع
-sLua
-Hheader
--timeouttimeout
wrk -t1 -c2 -d10s https://TARGET/health
wrk -t2 -c4 -d15s --latency https://TARGET/health
wrk -t1 -c2 -d10s -s request.lua https://TARGET/api/test
timeout 20s wrk -t1 -c2 -d10s https://TARGET/ > wrk.txt

روش پیشنهادی: پیش از اجرای wrk نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- wrk | tee wrk.path
type -a -- wrk 2> wrk.lookup.err
apropos -- wrk | head -n 20
man -f -- wrk 2>/dev/null || true
🔐

35. مدیریت secret، vault و رمزگذاری config

13 ابزار و فرمان

passمدیر رمز مبتنی بر GPG و Git

443پیشرفتهتحلیل

نصب: sudo apt install pass

SYNTAXpass COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
initآماده‌سازی
insertافزودن
showنمایش
generateساخت
rmحذف
gitنسخه‌بندی
pass init GPG_KEY_ID
pass insert lab/api-token
pass show lab/api-token
pass git log --oneline

روش پیشنهادی: پیش از اجرای pass نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pass | tee pass.path
type -a -- pass 2> pass.lookup.err
apropos -- pass | head -n 20
man -f -- pass 2>/dev/null || true
⚠️ مقدار secret را وارد log یا history نکنید.

secret-toolکار با Secret Service keyring

444پیشرفتهتحلیل

نصب: sudo apt install libsecret-tools

SYNTAXsecret-tool COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
storeذخیره
lookupخواندن
searchجست‌وجو
clearحذف
--labelبرچسب
--allهمه
printf '%s' "$LAB_SECRET" | secret-tool store --label='Lab token' service lab account analyst
secret-tool lookup service lab account analyst
secret-tool search --all service lab
secret-tool clear service lab account analyst

روش پیشنهادی: پیش از اجرای secret-tool نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- secret-tool | tee secret-tool.path
type -a -- secret-tool 2> secret-tool.lookup.err
apropos -- secret-tool | head -n 20
man -f -- secret-tool 2>/dev/null || true

sopsرمزگذاری ساختاریافته YAML/JSON/env

445پیشرفتهتحلیل

نصب: نصب release رسمی Mozilla SOPS

SYNTAXsops [OPTIONS] FILE
زیرفرمان / گزینهکاربرد
--encryptرمز
--decryptبازکردن
--ageگیرنده
--extractفیلد
updatekeysکلیدها
--in-placeدرجا
sops --encrypt --age AGE_RECIPIENT secrets.yaml > secrets.enc.yaml
sops --decrypt secrets.enc.yaml > /dev/null
sops --extract '["database"]["user"]' --decrypt secrets.enc.yaml
sops updatekeys secrets.enc.yaml

روش پیشنهادی: پیش از اجرای sops نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- sops | tee sops.path
type -a -- sops 2> sops.lookup.err
apropos -- sops | head -n 20
man -f -- sops 2>/dev/null || true

vaultمدیریت secret با HashiCorp Vault

446پیشرفتهتحلیل

نصب: نصب بسته رسمی Vault

SYNTAXvault COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
statusوضعیت
auth listروش‌ها
secrets listengine
kv getخواندن
token lookupتوکن
-formatقالب
vault status -format=json | jq .
vault auth list -format=json > auth.json
vault secrets list -format=json > engines.json
vault kv get -format=json secret/lab | jq '.data.data | keys'

روش پیشنهادی: پیش از اجرای vault نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- vault | tee vault.path
type -a -- vault 2> vault.lookup.err
apropos -- vault | head -n 20
man -f -- vault 2>/dev/null || true
⚠️ خروجی secret کامل را در فایل یا ترمینال اشتراکی چاپ نکنید.

gopassمدیر secret گروهی مبتنی بر GPG/age

447پیشرفتهتحلیل

نصب: نصب بسته رسمی gopass

SYNTAXgopass COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
setupراه‌اندازی
insertافزودن
showنمایش
auditممیزی
syncهمگام‌سازی
recipientsگیرندگان
gopass setup
gopass insert lab/token
gopass show -o lab/token
gopass audit

روش پیشنهادی: پیش از اجرای gopass نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gopass | tee gopass.path
type -a -- gopass 2> gopass.lookup.err
apropos -- gopass | head -n 20
man -f -- gopass 2>/dev/null || true

git-cryptرمزگذاری شفاف فایل‌های انتخابی Git

448پیشرفتهتحلیل

نصب: sudo apt install git-crypt

SYNTAXgit-crypt COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
initفعال‌سازی
statusوضعیت
lockقفل
unlockبازکردن
add-gpg-userکاربر
export-keyکلید
git-crypt init
printf 'secrets/** filter=git-crypt diff=git-crypt\n' >> .gitattributes
git-crypt status
git-crypt export-key ./git-crypt.key

روش پیشنهادی: پیش از اجرای git-crypt نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-crypt | tee git-crypt.path
type -a -- git-crypt 2> git-crypt.lookup.err
apropos -- git-crypt | head -n 20
man -f -- git-crypt 2>/dev/null || true
⚠️ کلید exportشده را خارج از repository و با دسترسی محدود نگه دارید.

ansible-vaultرمزگذاری متغیر و فایل Ansible

449پیشرفتهتحلیل

نصب: sudo apt install ansible-core

SYNTAXansible-vault COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
createساخت
viewنمایش
encryptرمز
encrypt_stringمتغیر
rekeyتعویض کلید
--vault-idهویت
ansible-vault create group_vars/lab/vault.yml
ansible-vault view group_vars/lab/vault.yml
ansible-vault encrypt_string --name api_token
ansible-vault rekey group_vars/lab/vault.yml

روش پیشنهادی: پیش از اجرای ansible-vault نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ansible-vault | tee ansible-vault.path
type -a -- ansible-vault 2> ansible-vault.lookup.err
apropos -- ansible-vault | head -n 20
man -f -- ansible-vault 2>/dev/null || true

kubesealتولید SealedSecret برای Kubernetes

450پیشرفتهتحلیل

نصب: نصب release رسمی kubeseal

SYNTAXkubeseal [OPTIONS]
زیرفرمان / گزینهکاربرد
--fetch-certگواهی
--certگواهی آفلاین
--validateاعتبارسنجی
-oقالب
--scopeمحدوده
--controller-nameکنترلر
kubeseal --fetch-cert --controller-name sealed-secrets > sealed-cert.pem
kubectl create secret generic lab --from-literal=token=VALUE --dry-run=client -o yaml | kubeseal --cert sealed-cert.pem -o yaml > sealed.yaml
kubeseal --validate < sealed.yaml

روش پیشنهادی: پیش از اجرای kubeseal نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kubeseal | tee kubeseal.path
type -a -- kubeseal 2> kubeseal.lookup.err
apropos -- kubeseal | head -n 20
man -f -- kubeseal 2>/dev/null || true

helm-secretsمدیریت secret رمزگذاری‌شده در Helm

451پیشرفتهتحلیل

نصب: نصب plugin رسمی helm-secrets

SYNTAXhelm secrets COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
viewنمایش
lintبررسی
templaterender
decryptبازکردن
encryptرمز
cleanپاک‌سازی
helm secrets view secrets.enc.yaml
helm secrets lint chart/ -f secrets.enc.yaml
helm secrets template lab chart/ -f secrets.enc.yaml > rendered.yaml
helm secrets decrypt secrets.enc.yaml

روش پیشنهادی: پیش از اجرای helm-secrets نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- helm-secrets | tee helm-secrets.path
type -a -- helm-secrets 2> helm-secrets.lookup.err
apropos -- helm-secrets | head -n 20
man -f -- helm-secrets 2>/dev/null || true

credhubمدیریت credentialهای CredHub

452پیشرفتهتحلیل

نصب: نصب release رسمی CredHub CLI

SYNTAXcredhub COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
apiendpoint
loginورود
findجست‌وجو
getخواندن
setنوشتن
--metadataبدون مقدار
--ca-certCA
credhub api https://credhub.example.test --ca-cert ca.pem
credhub login --client-name lab-client --client-secret-env-var CREDHUB_SECRET
credhub find --name-like /lab/
credhub get --name /lab/token --metadata

روش پیشنهادی: پیش از اجرای credhub نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- credhub | tee credhub.path
type -a -- credhub 2> credhub.lookup.err
apropos -- credhub | head -n 20
man -f -- credhub 2>/dev/null || true

aws-vaultنگهداری و اجرای sessionهای AWS

453پیشرفتهتحلیل

نصب: نصب release رسمی aws-vault

SYNTAXaws-vault COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
listپروفایل
execsession
addافزودن
removeحذف
--durationمدت
--servermetadata server
--promptروش
aws-vault list
aws-vault exec lab -- aws sts get-caller-identity
aws-vault exec lab --duration=1h -- env | grep '^AWS_' | sed 's/=.*$/=<redacted>/'
aws-vault remove lab

روش پیشنهادی: پیش از اجرای aws-vault نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aws-vault | tee aws-vault.path
type -a -- aws-vault 2> aws-vault.lookup.err
apropos -- aws-vault | head -n 20
man -f -- aws-vault 2>/dev/null || true

keyringCLI مدیریت Python keyring

454پیشرفتهتحلیل

نصب: pipx install keyring

SYNTAXkeyring COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
setذخیره
getخواندن
delحذف
diagnoseعیب‌یابی
--keyring-backendbackend
SERVICEسرویس
printf '%s' "$LAB_SECRET" | keyring set lab analyst
keyring get lab analyst
keyring diagnose > keyring-diagnose.txt
keyring del lab analyst

روش پیشنهادی: پیش از اجرای keyring نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- keyring | tee keyring.path
type -a -- keyring 2> keyring.lookup.err
apropos -- keyring | head -n 20
man -f -- keyring 2>/dev/null || true

kwallet-queryخواندن و نوشتن KDE Wallet

455پیشرفتهتحلیل

نصب: sudo apt install libkf5wallet-bin

SYNTAXkwallet-query [OPTIONS] WALLET
زیرفرمان / گزینهکاربرد
-lفهرست
-wنوشتن
-rخواندن
-dحذف
-fپوشه
WALLETکیف
kwallet-query -l kdewallet
printf '%s' "$LAB_SECRET" | kwallet-query -w lab-token -f Lab kdewallet
kwallet-query -r lab-token -f Lab kdewallet
kwallet-query -d lab-token -f Lab kdewallet

روش پیشنهادی: پیش از اجرای kwallet-query نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- kwallet-query | tee kwallet-query.path
type -a -- kwallet-query 2> kwallet-query.lookup.err
apropos -- kwallet-query | head -n 20
man -f -- kwallet-query 2>/dev/null || true
♾️

36. CI/CD، pipeline و GitOps

13 ابزار و فرمان

actاجرای محلی GitHub Actions

456پیشرفتهکنترل‌شده

نصب: نصب release رسمی act

SYNTAXact [OPTIONS] [EVENT]
زیرفرمان / گزینهکاربرد
--listworkflowها
--dryrunآزمایشی
-jjob
-Wworkflow
--secret-filesecret
--container-architectureمعماری
act --list
act pull_request --dryrun
act -j test --container-architecture linux/amd64
act -j test --secret-file .secrets

روش پیشنهادی: پیش از اجرای act نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- act | tee act.path
type -a -- act 2> act.lookup.err
apropos -- act | head -n 20
man -f -- act 2>/dev/null || true

ghCLI رسمی GitHub

457پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی GitHub CLI

SYNTAXgh COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
auth statusهویت
repo viewمخزن
workflow listworkflow
run listاجرا
apiAPI
--jsonJSON
gh auth status
gh repo view --json name,defaultBranchRef
gh workflow list
gh run list --limit 10 --json status,conclusion,workflowName

روش پیشنهادی: پیش از اجرای gh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gh | tee gh.path
type -a -- gh 2> gh.lookup.err
apropos -- gh | head -n 20
man -f -- gh 2>/dev/null || true

glabCLI رسمی GitLab

458پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی glab

SYNTAXglab COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
auth statusهویت
repo viewمخزن
ci statusCI
pipeline listpipeline
mr listmerge request
apiAPI
glab auth status
glab repo view
glab ci status
glab pipeline list --per-page 10

روش پیشنهادی: پیش از اجرای glab نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- glab | tee glab.path
type -a -- glab 2> glab.lookup.err
apropos -- glab | head -n 20
man -f -- glab 2>/dev/null || true

gitlab-runnerاعتبارسنجی و اجرای GitLab Runner

459پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی GitLab Runner

SYNTAXgitlab-runner COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
verifyبررسی runner
listفهرست
execاجرای محلی
registerثبت
unregisterحذف
--configفایل
gitlab-runner --version
gitlab-runner verify
gitlab-runner list
gitlab-runner exec shell test

روش پیشنهادی: پیش از اجرای gitlab-runner نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gitlab-runner | tee gitlab-runner.path
type -a -- gitlab-runner 2> gitlab-runner.lookup.err
apropos -- gitlab-runner | head -n 20
man -f -- gitlab-runner 2>/dev/null || true

jenkins-cliکنترل Jenkins از CLI

460پیشرفتهکنترل‌شده

نصب: دریافت jenkins-cli.jar از سرور مجاز

SYNTAXjava -jar jenkins-cli.jar -s URL COMMAND
زیرفرمان / گزینهکاربرد
who-am-iهویت
list-jobsjobها
get-jobتعریف
buildاجرا
-sURL
-authاحراز
java -jar jenkins-cli.jar -s https://JENKINS/ who-am-i
java -jar jenkins-cli.jar -s https://JENKINS/ list-jobs
java -jar jenkins-cli.jar -s https://JENKINS/ get-job lab > lab-job.xml
java -jar jenkins-cli.jar -s https://JENKINS/ build lab -s -v

روش پیشنهادی: پیش از اجرای jenkins-cli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- jenkins-cli | tee jenkins-cli.path
type -a -- jenkins-cli 2> jenkins-cli.lookup.err
apropos -- jenkins-cli | head -n 20
man -f -- jenkins-cli 2>/dev/null || true
⚠️ اجرای build فقط روی job آزمایشگاهی و با پارامترهای بازبینی‌شده باشد.

tknCLI پایپ‌لاین Tekton

461پیشرفتهکنترل‌شده

نصب: نصب release رسمی Tekton CLI

SYNTAXtkn RESOURCE COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
pipelineپایپ‌لاین
taskکار
pipelinerunاجرا
logslog
describeجزئیات
--lastآخرین
-fدنبال‌کردن
tkn pipeline list
tkn task list
tkn pipelinerun list
tkn pipelinerun logs --last -f

روش پیشنهادی: پیش از اجرای tkn نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tkn | tee tkn.path
type -a -- tkn 2> tkn.lookup.err
apropos -- tkn | head -n 20
man -f -- tkn 2>/dev/null || true

argocdمدیریت GitOps با Argo CD

462پیشرفتهکنترل‌شده

نصب: نصب release رسمی Argo CD CLI

SYNTAXargocd COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
app listبرنامه‌ها
app diffتفاوت
app historyتاریخچه
app syncهمگام‌سازی
--clientمحلی
-oقالب
argocd version --client
argocd app list -o json > apps.json
argocd app diff lab-app
argocd app history lab-app

روش پیشنهادی: پیش از اجرای argocd نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- argocd | tee argocd.path
type -a -- argocd 2> argocd.lookup.err
apropos -- argocd | head -n 20
man -f -- argocd 2>/dev/null || true

fluxGitOps toolkit CLI

463پیشرفتهکنترل‌شده

نصب: نصب release رسمی Flux CLI

SYNTAXflux COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
checkسلامت
get allمنابع
diffتفاوت
reconcileهمگام‌سازی
--preپیش‌نیاز
-Aهمه namespace
--dry-runآزمایشی
flux check --pre
flux get all -A
flux diff kustomization lab --path ./clusters/lab
flux reconcile kustomization lab --dry-run

روش پیشنهادی: پیش از اجرای flux نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- flux | tee flux.path
type -a -- flux 2> flux.lookup.err
apropos -- flux | head -n 20
man -f -- flux 2>/dev/null || true

daggerpipeline قابل‌حمل مبتنی بر container

464پیشرفتهکنترل‌شده

نصب: نصب release رسمی Dagger

SYNTAXdagger COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
functionsتوابع
callاجرا
developتوسعه
queryGraphQL
--moduleماژول
--progressنوع پیشرفت
dagger version
dagger functions
dagger call test
dagger call build export --path ./output

روش پیشنهادی: پیش از اجرای dagger نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dagger | tee dagger.path
type -a -- dagger 2> dagger.lookup.err
apropos -- dagger | head -n 20
man -f -- dagger 2>/dev/null || true

earthlybuild قابل‌تکرار مبتنی بر Earthfile

465پیشرفتهکنترل‌شده

نصب: نصب release رسمی Earthly

SYNTAXearthly [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد
docمستندات
TARGETهدف
--no-cacheبدون cache
--artifactartifact
--ciحالت CI
--pushانتشار
earthly doc
earthly --no-cache +test
earthly --artifact +build/output ./output
earthly --ci +all

روش پیشنهادی: پیش از اجرای earthly نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- earthly | tee earthly.path
type -a -- earthly 2> earthly.lookup.err
apropos -- earthly | head -n 20
man -f -- earthly 2>/dev/null || true

buildkite-agentعامل و ابزار Pipeline Buildkite

466پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی Buildkite Agent

SYNTAXbuildkite-agent COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
pipeline uploadبارگذاری
--dry-runآزمایشی
artifact searchartifact
meta-datametadata
annotateیادداشت
--versionنسخه
buildkite-agent --version
buildkite-agent pipeline upload --dry-run pipeline.yml
buildkite-agent artifact search '*.log'
buildkite-agent meta-data exists release-version

روش پیشنهادی: پیش از اجرای buildkite-agent نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- buildkite-agent | tee buildkite-agent.path
type -a -- buildkite-agent 2> buildkite-agent.lookup.err
apropos -- buildkite-agent | head -n 20
man -f -- buildkite-agent 2>/dev/null || true

circleci-localاعتبارسنجی و اجرای محلی CircleCI

467پیشرفتهکنترل‌شده

نصب: نصب CircleCI CLI رسمی

SYNTAXcircleci COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
config validateاعتبارسنجی
config processگسترش
local executeمحلی
diagnosticعیب‌یابی
--jobjob
--configفایل
circleci config validate .circleci/config.yml
circleci config process .circleci/config.yml > processed.yml
circleci local execute --job test
circleci diagnostic

روش پیشنهادی: پیش از اجرای circleci-local نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- circleci-local | tee circleci-local.path
type -a -- circleci-local 2> circleci-local.lookup.err
apropos -- circleci-local | head -n 20
man -f -- circleci-local 2>/dev/null || true

drone-cliمدیریت pipelineهای Drone CI

468پیشرفتهکنترل‌شده

نصب: نصب release رسمی Drone CLI

SYNTAXdrone COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
infoهویت
repo lsمخزن‌ها
build lsاجراها
build logslog
lintاعتبارسنجی
execاجرای محلی
drone info
drone repo ls
drone build ls owner/repo
drone build logs owner/repo BUILD JOB > drone.log

روش پیشنهادی: پیش از اجرای drone-cli نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- drone-cli | tee drone-cli.path
type -a -- drone-cli 2> drone-cli.lookup.err
apropos -- drone-cli | head -n 20
man -f -- drone-cli 2>/dev/null || true
🖥️

37. مجازی‌سازی، image و آزمایشگاه VM

13 ابزار و فرمان

qemu-imgساخت و بررسی image ماشین مجازی

469پیشرفتهکنترل‌شده

نصب: sudo apt install qemu-utils

SYNTAXqemu-img COMMAND [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد
infoاطلاعات
checkبررسی
createساخت
convertتبدیل
snapshotsnapshot
compareمقایسه
-Oقالب خروجی
qemu-img info --output=json lab.qcow2 | jq .
qemu-img check lab.qcow2
qemu-img create -f qcow2 -o backing_file=base.qcow2,backing_fmt=qcow2 lab.qcow2 40G
qemu-img convert -p -O qcow2 disk.raw disk.qcow2

روش پیشنهادی: پیش از اجرای qemu-img نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- qemu-img | tee qemu-img.path
type -a -- qemu-img 2> qemu-img.lookup.err
apropos -- qemu-img | head -n 20
man -f -- qemu-img 2>/dev/null || true

qemu-system-x86_64اجرای VM ایزوله QEMU/KVM

470پیشرفتهکنترل‌شده

نصب: sudo apt install qemu-system-x86

SYNTAXqemu-system-x86_64 [OPTIONS]
زیرفرمان / گزینهکاربرد
-enable-kvmشتاب
-mحافظه
-smpCPU
-driveدیسک
-snapshotعدم نوشتن
-nic userNAT
-Sتوقف
qemu-system-x86_64 --version
qemu-system-x86_64 -machine help | head
qemu-system-x86_64 -enable-kvm -m 4096 -smp 2 -drive file=lab.qcow2,if=virtio -snapshot -nic user,model=virtio-net-pci
qemu-system-x86_64 -nodefaults -display none -S -qmp unix:qmp.sock,server=on,wait=off

روش پیشنهادی: پیش از اجرای qemu-system-x86_64 نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- qemu-system-x86_64 | tee qemu-system-x86_64.path
type -a -- qemu-system-x86_64 2> qemu-system-x86_64.lookup.err
apropos -- qemu-system-x86_64 | head -n 20
man -f -- qemu-system-x86_64 2>/dev/null || true

virshمدیریت VMهای libvirt

471پیشرفتهکنترل‌شده

نصب: sudo apt install libvirt-clients

SYNTAXvirsh [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
listفهرست
dominfoجزئیات
domifaddrآدرس
snapshot-listsnapshot
startشروع
shutdownخاموش
--connectURI
virsh list --all
virsh dominfo lab-vm
virsh domifaddr lab-vm --source agent
virsh snapshot-list lab-vm

روش پیشنهادی: پیش از اجرای virsh نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- virsh | tee virsh.path
type -a -- virsh 2> virsh.lookup.err
apropos -- virsh | head -n 20
man -f -- virsh 2>/dev/null || true

virt-installساخت VM با libvirt

472پیشرفتهکنترل‌شده

نصب: sudo apt install virtinst

SYNTAXvirt-install [OPTIONS]
زیرفرمان / گزینهکاربرد
--nameنام
--memoryRAM
--vcpusCPU
--diskدیسک
--importورودی موجود
--print-xmldry-run
--networkشبکه
virt-install --name lab --memory 4096 --vcpus 2 --disk path=lab.qcow2,format=qcow2 --import --os-variant detect=on,name=linux2022 --network network=default --noautoconsole --print-xml > lab.xml
virsh define lab.xml

روش پیشنهادی: پیش از اجرای virt-install نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- virt-install | tee virt-install.path
type -a -- virt-install 2> virt-install.lookup.err
apropos -- virt-install | head -n 20
man -f -- virt-install 2>/dev/null || true

virt-cloneclone کردن VM خاموش

473پیشرفتهکنترل‌شده

نصب: sudo apt install virtinst

SYNTAXvirt-clone [OPTIONS]
زیرفرمان / گزینهکاربرد
--originalمبدأ
--nameنام جدید
--fileدیسک
--auto-cloneمسیر خودکار
--print-xmlپیش‌نمایش
--preserve-dataحفظ
virt-clone --print-xml --original base --name lab-copy --auto-clone > clone.xml
virt-clone --original base --name lab-copy --file lab-copy.qcow2
virsh dominfo lab-copy

روش پیشنهادی: پیش از اجرای virt-clone نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- virt-clone | tee virt-clone.path
type -a -- virt-clone 2> virt-clone.lookup.err
apropos -- virt-clone | head -n 20
man -f -- virt-clone 2>/dev/null || true

virt-filesystemsفهرست filesystemهای image/VM

474پیشرفتهکنترل‌شده

نصب: sudo apt install libguestfs-tools

SYNTAXvirt-filesystems [OPTIONS]
زیرفرمان / گزینهکاربرد
-aimage
-ddomain
--allهمه
--longجزئیات
-hخوانا
--csvCSV
--filesystemsfilesystem
virt-filesystems -a lab.qcow2 --all --long -h
virt-filesystems -d lab-vm --filesystems
virt-filesystems -a lab.qcow2 --partitions --block-devices --logical-volumes
virt-filesystems -a lab.qcow2 --csv > filesystems.csv

روش پیشنهادی: پیش از اجرای virt-filesystems نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- virt-filesystems | tee virt-filesystems.path
type -a -- virt-filesystems 2> virt-filesystems.lookup.err
apropos -- virt-filesystems | head -n 20
man -f -- virt-filesystems 2>/dev/null || true

virt-inspectorبازشناسی OS داخل image آفلاین

475پیشرفتهکنترل‌شده

نصب: sudo apt install libguestfs-tools

SYNTAXvirt-inspector [OPTIONS]
زیرفرمان / گزینهکاربرد
-aimage
-ddomain
--xpathquery
--formatقالب
--connectlibvirt
--keys-from-stdinکلید
virt-inspector -a lab.qcow2 > inspection.xml
virt-inspector -d lab-vm > vm-inspection.xml
virt-inspector --xpath '//operatingsystem/name/text()' -a lab.qcow2
sha256sum inspection.xml > inspection.sha256

روش پیشنهادی: پیش از اجرای virt-inspector نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- virt-inspector | tee virt-inspector.path
type -a -- virt-inspector 2> virt-inspector.lookup.err
apropos -- virt-inspector | head -n 20
man -f -- virt-inspector 2>/dev/null || true

guestfishشل امن برای image مجازی

476پیشرفتهکنترل‌شده

نصب: sudo apt install libguestfs-tools

SYNTAXguestfish [OPTIONS]
زیرفرمان / گزینهکاربرد
--roفقط خواندن
-aimage
-ddomain
-iinspect
downloadاستخراج
list-filesystemsفهرست
statmetadata
guestfish --ro -a lab.qcow2 -i list-filesystems
guestfish --ro -a lab.qcow2 -i ls /
guestfish --ro -a lab.qcow2 -i download /etc/os-release os-release.txt
guestfish --ro -d lab-vm -i stat /etc/passwd

روش پیشنهادی: پیش از اجرای guestfish نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- guestfish | tee guestfish.path
type -a -- guestfish 2> guestfish.lookup.err
apropos -- guestfish | head -n 20
man -f -- guestfish 2>/dev/null || true

guestmountmount فقط‌خواندنی image با FUSE

477پیشرفتهکنترل‌شده

نصب: sudo apt install libguestfs-tools

SYNTAXguestmount [OPTIONS] MOUNTPOINT
زیرفرمان / گزینهکاربرد
--roفقط خواندن
-aimage
-ddomain
-iinspect
-mmountpoint
--pid-filePID
guestunmountجداکردن
mkdir -p mnt-vm
guestmount --ro -a lab.qcow2 -i mnt-vm
find mnt-vm -maxdepth 2 -type f | head
guestunmount mnt-vm

روش پیشنهادی: پیش از اجرای guestmount نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- guestmount | tee guestmount.path
type -a -- guestmount 2> guestmount.lookup.err
apropos -- guestmount | head -n 20
man -f -- guestmount 2>/dev/null || true

virt-sysprepپاک‌سازی identity پیش از clone

478پیشرفتهکنترل‌شده

نصب: sudo apt install libguestfs-tools

SYNTAXvirt-sysprep [OPTIONS]
زیرفرمان / گزینهکاربرد
--list-operationsفهرست
--dry-runآزمایشی
-aimage
-ddomain
--operationsعملیات
--enableفعال
--disableغیرفعال
virt-sysprep --list-operations
virt-sysprep --dry-run -a template.qcow2
cp --reflink=auto template.qcow2 template-work.qcow2
virt-sysprep -a template-work.qcow2 --operations defaults,-ssh-userdir

روش پیشنهادی: پیش از اجرای virt-sysprep نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- virt-sysprep | tee virt-sysprep.path
type -a -- virt-sysprep 2> virt-sysprep.lookup.err
apropos -- virt-sysprep | head -n 20
man -f -- virt-sysprep 2>/dev/null || true
⚠️ همیشه روی copy یا snapshot کار کنید؛ sysprep تغییرات دائمی دارد.

VBoxManageمدیریت VirtualBox از CLI

479پیشرفتهکنترل‌شده

نصب: sudo apt install virtualbox

SYNTAXVBoxManage COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
list vmsVMها
showvminfoجزئیات
snapshotنقطه بازگشت
exportخروجی
startvmشروع
controlvmکنترل
VBoxManage list vms
VBoxManage showvminfo 'Lab VM' --machinereadable > vbox-info.txt
VBoxManage snapshot 'Lab VM' list
VBoxManage export 'Lab VM' --output lab.ova --dry-run

روش پیشنهادی: پیش از اجرای VBoxManage نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- VBoxManage | tee VBoxManage.path
type -a -- VBoxManage 2> VBoxManage.lookup.err
apropos -- VBoxManage | head -n 20
man -f -- VBoxManage 2>/dev/null || true

vagrantساخت محیط آزمایشگاهی تکرارپذیر

480پیشرفتهکنترل‌شده

نصب: sudo apt install vagrant

SYNTAXvagrant COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
validateاعتبارسنجی
statusوضعیت
upراه‌اندازی
snapshotنقطه بازگشت
ssh-configSSH
destroyحذف
vagrant validate
vagrant status
vagrant up --no-provision
vagrant snapshot save clean-state
vagrant ssh-config > ssh-config.lab

روش پیشنهادی: پیش از اجرای vagrant نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- vagrant | tee vagrant.path
type -a -- vagrant 2> vagrant.lookup.err
apropos -- vagrant | head -n 20
man -f -- vagrant 2>/dev/null || true

packerساخت image تکرارپذیر VM/cloud

481پیشرفتهکنترل‌شده

نصب: نصب بسته رسمی HashiCorp Packer

SYNTAXpacker COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
fmtقالب
initplugin
validateاعتبارسنجی
inspectمتغیرها
buildساخت
--on-errorرفتار خطا
packer fmt -check -diff .
packer init .
packer validate -syntax-only .
packer inspect template.pkr.hcl
packer build -color=false -on-error=abort template.pkr.hcl

روش پیشنهادی: پیش از اجرای packer نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. دامنه، نرخ و timeout را محدود کنید؛ فقط روی دارایی ثبت‌شده در مجوز اجرا کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- packer | tee packer.path
type -a -- packer 2> packer.lookup.err
apropos -- packer | head -n 20
man -f -- packer 2>/dev/null || true
⚠️ ساخت image را در شبکه و حساب آزمایشگاهی محدود اجرا کنید.
🧾

38. یکپارچگی میزبان، compliance و firmware

13 ابزار و فرمان

tripwireپایش تغییر فایل و policy

482پیشرفتهدفاعی

نصب: sudo apt install tripwire

SYNTAXtripwire MODE [OPTIONS]
زیرفرمان / گزینهکاربرد
--checkبررسی
--updateبه‌روزرسانی DB
--quietساکت
twadminمدیریت policy
--twrfileگزارش
-mmode
sudo tripwire --check
sudo tripwire --check --quiet
sudo twadmin --print-polfile > tripwire-policy.txt
sudo tripwire --update --twrfile REPORT.twr

روش پیشنهادی: پیش از اجرای tripwire نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tripwire | tee tripwire.path
type -a -- tripwire 2> tripwire.lookup.err
apropos -- tripwire | head -n 20
man -f -- tripwire 2>/dev/null || true

oscapاسکن SCAP و تولید remediation

483پیشرفتهدفاعی

نصب: sudo apt install libopenscap8 scap-security-guide

SYNTAXoscap MODULE ACTION [OPTIONS]
زیرفرمان / گزینهکاربرد
infoاطلاعات
xccdf evalارزیابی
generate fixاصلاح
oval evalOVAL
--profileپروفایل
--resultsنتیجه
--reportHTML
oscap info datastream.xml
oscap xccdf eval --profile PROFILE --results results.xml --report report.html datastream.xml
oscap xccdf generate fix --profile PROFILE --fix-type bash datastream.xml > remediation.sh
oscap oval eval --results oval-results.xml definitions.xml

روش پیشنهادی: پیش از اجرای oscap نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- oscap | tee oscap.path
type -a -- oscap 2> oscap.lookup.err
apropos -- oscap | head -n 20
man -f -- oscap 2>/dev/null || true

scap-workbenchرابط گرافیکی ارزیابی SCAP

484پیشرفتهدفاعی

نصب: sudo apt install scap-workbench

SYNTAXscap-workbench [OPTIONS] [FILE]
زیرفرمان / گزینهکاربرد
FILEdatastream
Profileپروفایل
Targetهدف
Scanارزیابی
Generate remediationاصلاح
Save resultsنتیجه
scap-workbench datastream.xml
scap-workbench --help
oscap info datastream.xml > scap-info.txt
sha256sum datastream.xml > datastream.sha256

روش پیشنهادی: پیش از اجرای scap-workbench نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- scap-workbench | tee scap-workbench.path
type -a -- scap-workbench 2> scap-workbench.lookup.err
apropos -- scap-workbench | head -n 20
man -f -- scap-workbench 2>/dev/null || true

debsecanگزارش CVE بسته‌های Debian/Kali

485پیشرفتهدفاعی

نصب: sudo apt install debsecan

SYNTAXdebsecan [OPTIONS]
زیرفرمان / گزینهکاربرد
--suiteتوزیع
--formatقالب
--only-fixedدارای اصلاح
--historyتاریخچه
--update-historyبه‌روزرسانی
--whitelistسفید
debsecan --suite kali-rolling
debsecan --suite kali-rolling --format detail > debsecan.txt
debsecan --only-fixed --format packages > fixed-packages.txt
debsecan --history history.db --update-history

روش پیشنهادی: پیش از اجرای debsecan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- debsecan | tee debsecan.path
type -a -- debsecan 2> debsecan.lookup.err
apropos -- debsecan | head -n 20
man -f -- debsecan 2>/dev/null || true

needrestartشناسایی سرویس نیازمند restart

486پیشرفتهدفاعی

نصب: sudo apt install needrestart

SYNTAXneedrestart [OPTIONS]
زیرفرمان / گزینهکاربرد
-r lفهرست
-bbatch
-kkernel
-llibrary
-uuser session
-wNagios
NEEDRESTART_MODEحالت
sudo needrestart -r l
sudo needrestart -b > needrestart-batch.txt
sudo needrestart -k
sudo needrestart -l

روش پیشنهادی: پیش از اجرای needrestart نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- needrestart | tee needrestart.path
type -a -- needrestart 2> needrestart.lookup.err
apropos -- needrestart | head -n 20
man -f -- needrestart 2>/dev/null || true

tigerممیزی امنیت میزبان Unix

487پیشرفتهدفاعی

نصب: sudo apt install tiger

SYNTAXtiger [OPTIONS]
زیرفرمان / گزینهکاربرد
-Hپیکربندی
-eتوضیح
-llog
-cconfig
-mmodule
tigexpشرح یافته
sudo tiger -H
sudo tiger -e
sudo tiger -l /var/log/tiger/lab.log
tigexp -f /var/log/tiger/security.report.* > tiger-explained.txt

روش پیشنهادی: پیش از اجرای tiger نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tiger | tee tiger.path
type -a -- tiger 2> tiger.lookup.err
apropos -- tiger | head -n 20
man -f -- tiger 2>/dev/null || true

clamscanاسکن آفلاین فایل با ClamAV

488پیشرفتهدفاعی

نصب: sudo apt install clamav

SYNTAXclamscan [OPTIONS] [FILES]
زیرفرمان / گزینهکاربرد
-rبازگشتی
--infectedفقط آلودگی
--loglog
--max-filesizeحد
--no-summaryبدون خلاصه
--excludeحذف
clamscan --version
clamscan -r --infected samples/ | tee clamscan.txt
clamscan --recursive --max-filesize=100M --log=clam.log evidence/
clamscan --no-summary known-clean.txt

روش پیشنهادی: پیش از اجرای clamscan نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- clamscan | tee clamscan.path
type -a -- clamscan 2> clamscan.lookup.err
apropos -- clamscan | head -n 20
man -f -- clamscan 2>/dev/null || true

freshclamبه‌روزرسانی signatureهای ClamAV

489پیشرفتهدفاعی

نصب: sudo apt install clamav-freshclam

SYNTAXfreshclam [OPTIONS]
زیرفرمان / گزینهکاربرد
--verboseجزئیات
--datadirDB
--loglog
--list-mirrorsmirror
--checksدفعات
--no-dnsبدون DNS
freshclam --version
sudo freshclam --verbose | tee freshclam.log
freshclam --datadir ./clamdb --log=./freshclam-local.log
freshclam --list-mirrors

روش پیشنهادی: پیش از اجرای freshclam نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- freshclam | tee freshclam.path
type -a -- freshclam 2> freshclam.lookup.err
apropos -- freshclam | head -n 20
man -f -- freshclam 2>/dev/null || true

integritysetupمدیریت dm-integrity metadata

490پیشرفتهدفاعی

نصب: sudo apt install cryptsetup-bin

SYNTAXintegritysetup ACTION [OPTIONS] DEVICE
زیرفرمان / گزینهکاربرد
dumpmetadata
statusوضعیت
openبازکردن
closeبستن
formatفرمت
--integrity-recalculateبازمحاسبه
sudo integritysetup dump /dev/loop0
sudo integritysetup status lab_integrity
sudo integritysetup open --integrity-recalculate /dev/loop0 lab_integrity
sudo integritysetup close lab_integrity

روش پیشنهادی: پیش از اجرای integritysetup نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- integritysetup | tee integritysetup.path
type -a -- integritysetup 2> integritysetup.lookup.err
apropos -- integritysetup | head -n 20
man -f -- integritysetup 2>/dev/null || true
⚠️ format و recalculate فقط روی رسانه آزمایشگاهی و پس از image پشتیبان انجام شود.

fwupdmgrبررسی firmware و metadata LVFS

491پیشرفتهدفاعی

نصب: sudo apt install fwupd

SYNTAXfwupdmgr [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
get-devicesدستگاه‌ها
get-updatesبه‌روزرسانی
securityامنیت
get-historyتاریخچه
refreshmetadata
updateاعمال
fwupdmgr get-devices --json > firmware-devices.json
fwupdmgr get-updates
fwupdmgr security --json > host-security.json
fwupdmgr get-history

روش پیشنهادی: پیش از اجرای fwupdmgr نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- fwupdmgr | tee fwupdmgr.path
type -a -- fwupdmgr 2> fwupdmgr.lookup.err
apropos -- fwupdmgr | head -n 20
man -f -- fwupdmgr 2>/dev/null || true

debsumsبررسی checksum فایل‌های بسته

492پیشرفتهدفاعی

نصب: sudo apt install debsums

SYNTAXdebsums [OPTIONS] [PACKAGES]
زیرفرمان / گزینهکاربرد
-sفقط خطا
-cconfig
-aهمه فایل‌ها
-econfigهای بدون md5
-lبسته بدون checksum
-gتولید
debsums -s
debsums -c
debsums -a openssh-client
debsums -s 2> changed-package-files.txt

روش پیشنهادی: پیش از اجرای debsums نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- debsums | tee debsums.path
type -a -- debsums 2> debsums.lookup.err
apropos -- debsums | head -n 20
man -f -- debsums 2>/dev/null || true

aa-statusنمایش وضعیت AppArmor

493پیشرفتهدفاعی

نصب: sudo apt install apparmor-utils

SYNTAXaa-status [OPTIONS]
زیرفرمان / گزینهکاربرد
--jsonJSON
--profiledتعداد profile
--enforcedenforce
--complainingcomplain
--killkill
--verboseجزئیات
sudo aa-status
aa-status --json > apparmor-status.json
aa-status --profiled
aa-status --enforced

روش پیشنهادی: پیش از اجرای aa-status نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- aa-status | tee aa-status.path
type -a -- aa-status 2> aa-status.lookup.err
apropos -- aa-status | head -n 20
man -f -- aa-status 2>/dev/null || true

apparmor_parserاعتبارسنجی و بارگذاری profile AppArmor

494پیشرفتهدفاعی

نصب: sudo apt install apparmor-parser

SYNTAXapparmor_parser [OPTIONS] PROFILE
زیرفرمان / گزینهکاربرد
-Qفقط parse
-ppreprocess
-rreplace
-Rremove
-aadd
-Wwarning
-Tبدون cache
sudo apparmor_parser -Q profile.lab
sudo apparmor_parser -p profile.lab > profile-preprocessed.txt
sudo apparmor_parser -r profile.lab
sudo apparmor_parser -R profile.lab

روش پیشنهادی: پیش از اجرای apparmor_parser نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- apparmor_parser | tee apparmor_parser.path
type -a -- apparmor_parser 2> apparmor_parser.lookup.err
apropos -- apparmor_parser | head -n 20
man -f -- apparmor_parser 2>/dev/null || true
⚠️ بارگذاری یا حذف profile ممکن است رفتار سرویس را تغییر دهد؛ ابتدا فقط parse کنید.
⏱️

39. زمان، NTP/PTP و زمان‌بندی job

13 ابزار و فرمان

chronycمشاهده و کنترل Chrony

495پیشرفتهپایه

نصب: sudo apt install chrony

SYNTAXchronyc [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
trackingوضعیت
sourcesمنابع
sourcestatsآمار
ntpdataجزئیات
activityفعالیت
-nبدون DNS
-cCSV
chronyc tracking
chronyc sources -v
chronyc sourcestats
chronyc ntpdata | tee ntp-data.txt

روش پیشنهادی: پیش از اجرای chronyc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- chronyc | tee chronyc.path
type -a -- chronyc 2> chronyc.lookup.err
apropos -- chronyc | head -n 20
man -f -- chronyc 2>/dev/null || true

ntpqپرس‌وجوی daemon NTP

496پیشرفتهپایه

نصب: sudo apt install ntpsec

SYNTAXntpq [OPTIONS] [COMMAND]
زیرفرمان / گزینهکاربرد
-ppeer
-nبدون DNS
-cفرمان
rvمتغیرها
associationsانجمن
mrulistکلاینت‌ها
ntpq -pn
ntpq -c rv
ntpq -c associations
ntpq -c 'mrulist limited=20' > ntp-mru.txt

روش پیشنهادی: پیش از اجرای ntpq نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ntpq | tee ntpq.path
type -a -- ntpq 2> ntpq.lookup.err
apropos -- ntpq | head -n 20
man -f -- ntpq 2>/dev/null || true

ntpdateاندازه‌گیری offset بدون تنظیم

497پیشرفتهپایه

نصب: sudo apt install ntpsec-ntpdate

SYNTAXntpdate [OPTIONS] SERVER
زیرفرمان / گزینهکاربرد
-qquery
-uپورت unprivileged
-ddebug
-vنسخه
-ttimeout
-ssyslog
ntpdate -q time.example.test
ntpdate -q -u time.example.test | tee offset.txt
ntpdate -d time.example.test
timeout 10s ntpdate -q time.example.test

روش پیشنهادی: پیش از اجرای ntpdate نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ntpdate | tee ntpdate.path
type -a -- ntpdate 2> ntpdate.lookup.err
apropos -- ntpdate | head -n 20
man -f -- ntpdate 2>/dev/null || true
⚠️ برای جلوگیری از پرش زمان، نمونه‌ها فقط query هستند.

ntpdigپرس‌وجوی SNTP/NTPsec

498پیشرفتهپایه

نصب: sudo apt install ntpsec-ntpdate

SYNTAXntpdig [OPTIONS] SERVER
زیرفرمان / گزینهکاربرد
-jJSON
-Sنمایش بدون set
-psample
-Mحد step
-ttimeout
-4IPv4
-6IPv6
ntpdig time.example.test
ntpdig -j time.example.test
ntpdig -S -p 3 time.example.test
ntpdig -M 1000 time.example.test

روش پیشنهادی: پیش از اجرای ntpdig نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ntpdig | tee ntpdig.path
type -a -- ntpdig 2> ntpdig.lookup.err
apropos -- ntpdig | head -n 20
man -f -- ntpdig 2>/dev/null || true

ptp4lهمگام‌سازی Precision Time Protocol

499پیشرفتهپایه

نصب: sudo apt install linuxptp

SYNTAXptp4l [OPTIONS]
زیرفرمان / گزینهکاربرد
-iرابط
-mstdout
-qبدون syslog
-Ssoftware timestamp
-Hhardware
-fconfig
ptp4l -i eth0 -m -q
timeout 15s ptp4l -i eth0 -m -S > ptp4l.log 2>&1
ptp4l -H -i eth0 -m
ptp4l -i eth0 -f ptp4l.conf -m

روش پیشنهادی: پیش از اجرای ptp4l نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- ptp4l | tee ptp4l.path
type -a -- ptp4l 2> ptp4l.lookup.err
apropos -- ptp4l | head -n 20
man -f -- ptp4l 2>/dev/null || true
⚠️ فقط در segment آزمایشگاهی یا با هماهنگی مدیر زمان شبکه اجرا کنید.

phc2sysهمگام‌سازی PHC و ساعت سیستم

500پیشرفتهپایه

نصب: sudo apt install linuxptp

SYNTAXphc2sys [OPTIONS]
زیرفرمان / گزینهکاربرد
-sمنبع
-cمقصد
-aخودکار
-rsystem clock
-mپیام
-qبدون syslog
-Ooffset
phc2sys -s eth0 -c CLOCK_REALTIME -m -q
timeout 10s phc2sys -a -r -m > phc2sys.log 2>&1
phc2sys -s /dev/ptp0 -c CLOCK_REALTIME -O 0 -m

روش پیشنهادی: پیش از اجرای phc2sys نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- phc2sys | tee phc2sys.path
type -a -- phc2sys 2> phc2sys.lookup.err
apropos -- phc2sys | head -n 20
man -f -- phc2sys 2>/dev/null || true

pmcمدیریت و query روی PTP

501پیشرفتهپایه

نصب: sudo apt install linuxptp

SYNTAXpmc [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
-uUDS
-bboundary hops
-iرابط
-ddomain
-ttransport
GETخواندن
SETتغییر
pmc -u -b 0 'GET CURRENT_DATA_SET'
pmc -u -b 0 'GET TIME_STATUS_NP'
pmc -u -b 0 'GET PORT_DATA_SET' > ptp-port.txt
pmc -i eth0 -b 0 'GET GRANDMASTER_SETTINGS_NP'

روش پیشنهادی: پیش از اجرای pmc نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pmc | tee pmc.path
type -a -- pmc 2> pmc.lookup.err
apropos -- pmc | head -n 20
man -f -- pmc 2>/dev/null || true

hwclockبررسی و هماهنگی RTC

502پیشرفتهپایه

نصب: پیش‌فرض سیستم

SYNTAXhwclock [OPTIONS]
زیرفرمان / گزینهکاربرد
--showنمایش
--getخواندن
--predictپیش‌بینی
--systohcسیستم به RTC
--hctosysRTC به سیستم
--utcUTC
sudo hwclock --show --verbose
sudo hwclock --get
sudo hwclock --predict --date '2026-01-01 00:00:00'
timedatectl show | tee clock-state.txt

روش پیشنهادی: پیش از اجرای hwclock نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- hwclock | tee hwclock.path
type -a -- hwclock 2> hwclock.lookup.err
apropos -- hwclock | head -n 20
man -f -- hwclock 2>/dev/null || true

faketimeاجرای برنامه با زمان شبیه‌سازی‌شده

503پیشرفتهپایه

نصب: sudo apt install faketime

SYNTAXfaketime TIMESPEC COMMAND
زیرفرمان / گزینهکاربرد
TIMESPECزمان
+OFFSETجلو
-OFFSETعقب
-fقالب پیشرفته
xRATEسرعت
FAKETIME_NO_CACHEعدم cache
faketime '2025-01-01 12:00:00' date -Is
faketime '+2h' ./time-test.sh
faketime -f '@2025-01-01 00:00:00 x1' COMMAND
FAKETIME_NO_CACHE=1 faketime '-1d' COMMAND

روش پیشنهادی: پیش از اجرای faketime نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- faketime | tee faketime.path
type -a -- faketime 2> faketime.lookup.err
apropos -- faketime | head -n 20
man -f -- faketime 2>/dev/null || true

dateutilsمحاسبه و تبدیل تاریخ در CLI

504پیشرفتهپایه

نصب: sudo apt install dateutils

SYNTAXdateutils.COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
ddiffتفاوت
daddافزودن
dconvتبدیل
dseqدنباله
-iقالب ورودی
-fقالب خروجی
dateutils.ddiff 2025-01-01 2025-02-01
dateutils.dadd 2025-01-01 +30d
dateutils.dconv -i '%Y-%m-%d' -f '%s' 2025-01-01
dateutils.dseq 2025-01-01 2025-01-05

روش پیشنهادی: پیش از اجرای dateutils نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- dateutils | tee dateutils.path
type -a -- dateutils 2> dateutils.lookup.err
apropos -- dateutils | head -n 20
man -f -- dateutils 2>/dev/null || true

cronزمان‌بندی سنتی job

505پیشرفتهپایه

نصب: پیش‌فرض سیستم

SYNTAXcrontab [OPTIONS]
زیرفرمان / گزینهکاربرد
-lفهرست
-eویرایش
-rحذف
-uکاربر
run-parts --testپیش‌نمایش
MAILTOایمیل
SHELLشل
crontab -l
crontab -l > crontab.backup
printf '*/15 * * * * /usr/local/bin/lab-check >>/var/log/lab-check.log 2>&1\n' | crontab -
run-parts --test /etc/cron.daily

روش پیشنهادی: پیش از اجرای cron نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- cron | tee cron.path
type -a -- cron 2> cron.lookup.err
apropos -- cron | head -n 20
man -f -- cron 2>/dev/null || true

systemd-runاجرای transient unit و timer

506پیشرفتهپایه

نصب: پیش‌فرض systemd

SYNTAXsystemd-run [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد
--userکاربر
--scopescope
--on-activetimer
--unitنام
-pproperty
--collectپاک‌سازی
systemd-run --user --scope -p MemoryMax=512M COMMAND
systemd-run --user --on-active=5m --unit=lab-once COMMAND
systemctl --user list-timers lab-once.timer
journalctl --user -u lab-once.service

روش پیشنهادی: پیش از اجرای systemd-run نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- systemd-run | tee systemd-run.path
type -a -- systemd-run 2> systemd-run.lookup.err
apropos -- systemd-run | head -n 20
man -f -- systemd-run 2>/dev/null || true

atزمان‌بندی job یک‌باره

507پیشرفتهپایه

نصب: sudo apt install at

SYNTAXat [OPTIONS] TIME
زیرفرمان / گزینهکاربرد
atصف job
atqفهرست
atrmحذف
-cنمایش
-fفایل
-qqueue
TIMEزمان
printf '%s\n' '/usr/local/bin/lab-report' | at now + 10 minutes
atq
at -c JOB_ID > queued-job.txt
atrm JOB_ID

روش پیشنهادی: پیش از اجرای at نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- at | tee at.path
type -a -- at 2> at.lookup.err
apropos -- at | head -n 20
man -f -- at 2>/dev/null || true
🌿

40. Git، تاریخچه و امنیت repository

13 ابزار و فرمان

tigمرور متنی تاریخچه Git

508پیشرفتهتحلیل

نصب: sudo apt install tig

SYNTAXtig [OPTIONS] [REVISION]
زیرفرمان / گزینهکاربرد
--allهمه refs
statusوضعیت
logتاریخچه
blameنویسنده
-Cمخزن
--sinceزمان
tig --all
tig status
tig log -- path/to/file
tig blame README.md

روش پیشنهادی: پیش از اجرای tig نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- tig | tee tig.path
type -a -- tig 2> tig.lookup.err
apropos -- tig | head -n 20
man -f -- tig 2>/dev/null || true

git-lfsمدیریت فایل بزرگ Git LFS

509پیشرفتهتحلیل

نصب: sudo apt install git-lfs

SYNTAXgit lfs COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
envمحیط
ls-filesفایل‌ها
statusوضعیت
fsckیکپارچگی
migrate infoتحلیل
fetchدریافت
git lfs env
git lfs ls-files --long
git lfs status
git lfs fsck
git lfs migrate info --everything

روش پیشنهادی: پیش از اجرای git-lfs نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-lfs | tee git-lfs.path
type -a -- git-lfs 2> git-lfs.lookup.err
apropos -- git-lfs | head -n 20
man -f -- git-lfs 2>/dev/null || true

git-filter-repoبازنویسی امن‌تر تاریخچه Git

510پیشرفتهتحلیل

نصب: sudo apt install git-filter-repo

SYNTAXgit filter-repo [OPTIONS]
زیرفرمان / گزینهکاربرد
--analyzeتحلیل
--pathمسیر
--invert-pathsحذف
--dry-runآزمایشی
--replace-textجایگزینی
--forceاجبار
git clone --mirror SOURCE repo-mirror.git
cd repo-mirror.git && git filter-repo --analyze
git filter-repo --path secrets.env --invert-paths --dry-run
git filter-repo --path secrets.env --invert-paths

روش پیشنهادی: پیش از اجرای git-filter-repo نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-filter-repo | tee git-filter-repo.path
type -a -- git-filter-repo 2> git-filter-repo.lookup.err
apropos -- git-filter-repo | head -n 20
man -f -- git-filter-repo 2>/dev/null || true
⚠️ بازنویسی تاریخچه مخرب است؛ فقط روی mirror و پس از backup انجام دهید.

git-secretsجلوگیری از commit الگوهای secret

511پیشرفتهتحلیل

نصب: نصب از مخزن رسمی git-secrets

SYNTAXgit secrets [OPTIONS]
زیرفرمان / گزینهکاربرد
--installhook
--register-awsالگو AWS
--addالگو
--scanفایل جاری
--scan-historyتاریخچه
--listقواعد
git secrets --install
git secrets --register-aws
git secrets --add 'TOKEN_[A-Z0-9]+'
git secrets --scan-history | tee secrets-scan.txt

روش پیشنهادی: پیش از اجرای git-secrets نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-secrets | tee git-secrets.path
type -a -- git-secrets 2> git-secrets.lookup.err
apropos -- git-secrets | head -n 20
man -f -- git-secrets 2>/dev/null || true

gitleaksاسکن secret در Git و فایل

512پیشرفتهتحلیل

نصب: نصب release رسمی Gitleaks

SYNTAXgitleaks COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد
detectکشف
gitتاریخچه
dirپوشه
protectstaged
--redactپوشاندن
--report-formatقالب
--report-pathخروجی
gitleaks detect --source . --redact --report-format json --report-path gitleaks.json
gitleaks git . --redact
gitleaks dir . --redact --report-path directory.json
gitleaks protect --staged --redact

روش پیشنهادی: پیش از اجرای gitleaks نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- gitleaks | tee gitleaks.path
type -a -- gitleaks 2> gitleaks.lookup.err
apropos -- gitleaks | head -n 20
man -f -- gitleaks 2>/dev/null || true

trufflehogکشف و اعتبارسنجی secret

513پیشرفتهتحلیل

نصب: نصب release رسمی TruffleHog

SYNTAXtrufflehog SOURCE [OPTIONS]
زیرفرمان / گزینهکاربرد
gitمخزن
filesystemفایل
--no-verificationعدم تماس
--jsonJSON
--since-commitآغاز
--only-verifiedفقط معتبر
trufflehog git file://$PWD --no-verification --json > trufflehog.json
trufflehog filesystem . --no-verification
trufflehog git https://example.test/lab/repo.git --since-commit HEAD~20 --no-verification
jq -r '.DetectorName' trufflehog.json | sort | uniq -c

روش پیشنهادی: پیش از اجرای trufflehog نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- trufflehog | tee trufflehog.path
type -a -- trufflehog 2> trufflehog.lookup.err
apropos -- trufflehog | head -n 20
man -f -- trufflehog 2>/dev/null || true

git-sizerتحلیل اندازه و ساختار مخزن

514پیشرفتهتحلیل

نصب: نصب release رسمی git-sizer

SYNTAXgit-sizer [OPTIONS]
زیرفرمان / گزینهکاربرد
--verboseجزئیات
--jsonJSON
--thresholdحد
--namesنام‌ها
--no-progressبدون progress
--versionنسخه
git-sizer
git-sizer --verbose
git-sizer --json > git-size.json
git-sizer --threshold 1

روش پیشنهادی: پیش از اجرای git-sizer نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-sizer | tee git-sizer.path
type -a -- git-sizer 2> git-sizer.lookup.err
apropos -- git-sizer | head -n 20
man -f -- git-sizer 2>/dev/null || true

git-fameآمار مشارکت repository

515پیشرفتهتحلیل

نصب: pipx install git-fame

SYNTAXgit-fame [OPTIONS] [REPOSITORY]
زیرفرمان / گزینهکاربرد
--inclشامل
--exclحذف
--formatقالب
--sinceاز زمان
--untilتا
--costبرآورد
git-fame
git-fame --incl 'src/*'
git-fame --format json > fame.json
git-fame --since 2025-01-01 --cost hour

روش پیشنهادی: پیش از اجرای git-fame نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-fame | tee git-fame.path
type -a -- git-fame 2> git-fame.lookup.err
apropos -- git-fame | head -n 20
man -f -- git-fame 2>/dev/null || true

git-cliffساخت changelog از commitها

516پیشرفتهتحلیل

نصب: نصب release رسمی git-cliff

SYNTAXgit cliff [OPTIONS]
زیرفرمان / گزینهکاربرد
--unreleasedمنتشرنشده
--latestآخرین
--tagنسخه
-oخروجی
--contextJSON
--configفایل
git cliff --unreleased
git cliff --latest
git cliff --tag v1.0.0 -o CHANGELOG.md
git cliff --context > changelog-context.json

روش پیشنهادی: پیش از اجرای git-cliff نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-cliff | tee git-cliff.path
type -a -- git-cliff 2> git-cliff.lookup.err
apropos -- git-cliff | head -n 20
man -f -- git-cliff 2>/dev/null || true

git-bugردیابی issue توزیع‌شده در Git

517پیشرفتهتحلیل

نصب: نصب release رسمی git-bug

SYNTAXgit bug COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
bug newissue
bug lsفهرست
bug showجزئیات
bridgeهمگام‌سازی
userهویت
versionنسخه
git bug bug new
git bug bug ls
git bug bug show BUG_ID
git bug bridge status

روش پیشنهادی: پیش از اجرای git-bug نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-bug | tee git-bug.path
type -a -- git-bug 2> git-bug.lookup.err
apropos -- git-bug | head -n 20
man -f -- git-bug 2>/dev/null || true

git-townاتوماسیون branch workflow

518پیشرفتهتحلیل

نصب: نصب release رسمی git-town

SYNTAXgit town COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
statusوضعیت
configپیکربندی
syncهمگام‌سازی
proposePR
--dry-runپیش‌نمایش
undoبرگشت
git town status
git town config
git town sync --dry-run
git town propose --dry-run

روش پیشنهادی: پیش از اجرای git-town نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- git-town | tee git-town.path
type -a -- git-town 2> git-town.lookup.err
apropos -- git-town | head -n 20
man -f -- git-town 2>/dev/null || true

pre-commitاجرای hookهای کیفیت قبل از commit

519پیشرفتهتحلیل

نصب: pipx install pre-commit

SYNTAXpre-commit COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
validate-configبررسی
runاجرا
--all-filesهمه
autoupdateبه‌روزرسانی
--freezepin
try-repoآزمون محلی
pre-commit validate-config
pre-commit run --all-files
pre-commit run shellcheck --all-files
pre-commit autoupdate --freeze
pre-commit try-repo . --all-files

روش پیشنهادی: پیش از اجرای pre-commit نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- pre-commit | tee pre-commit.path
type -a -- pre-commit 2> pre-commit.lookup.err
apropos -- pre-commit | head -n 20
man -f -- pre-commit 2>/dev/null || true

commitizenاستانداردسازی commit و نسخه

520پیشرفتهتحلیل

نصب: pipx install commitizen

SYNTAXcz COMMAND [ARGS]
زیرفرمان / گزینهکاربرد
checkاعتبارسنجی
bumpنسخه
changelogتغییرات
versionنسخه
--dry-runپیش‌نمایش
--rev-rangeمحدوده
cz check --rev-range HEAD~10..HEAD
cz bump --dry-run
cz changelog --dry-run
cz version --project

روش پیشنهادی: پیش از اجرای commitizen نسخه و راهنمای داخلی را ببینید؛ سپس مثال را با هدف آزمایشگاهی جایگزین و ابتدا کم‌خطرترین گزینه را اجرا کنید. از ورودی محلی یا حالت فقط‌خواندنی شروع کنید و پیش از پردازش بعدی، قالب خروجی را بررسی کنید.

خروجی و اتصال: stdout را با tee ذخیره، stderr و exit code را جدا ثبت و نتیجه را پیش از دادن به ابزار بعدی اعتبارسنجی کنید. فایل شاهد را هش کنید و فرمان، زمان، محدوده و نسخه ابزار را در گزارش بنویسید.

فرمان‌های تکمیلی برای کشف مسیر و مستندات
command -v -- commitizen | tee commitizen.path
type -a -- commitizen 2> commitizen.lookup.err
apropos -- commitizen | head -n 20
man -f -- commitizen 2>/dev/null || true

🛡️ دوره پیشرفته هک و امنیت — ۱۰ فصل

۱۶۰ درس ابزارمحور با ۳۰ ابزار جدید، ۲۰ لابراتوار پایه و پیشرفته، اهداف یادگیری، خروجی قابل تحویل، تشریح خط‌به‌خط فرمان‌ها و چارچوب قانونی. این دوره به انتهای مرجع اصلی افزوده شده است.

🧪

فصل امنیت 1: مبانی لابراتوار، محدوده و ثبت شواهد

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ از تعریف مجوز و آماده‌سازی Kali تا ثبت سرویس، شبکه، زمان و log؛ هیچ آزمونی را بدون محدوده مکتوب آغاز نکنید. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. تعریف scope، زمان و قواعد درگیری
  2. ثبت نسخه، مسیر و وضعیت ابزارها
  3. ساخت ساختار شاهد و manifest هش

📦 خروجی‌های مورد انتظار

scope.mdenvironment.txtterminal.typescriptSHA256SUMS

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 1/10
PROJECT="$HOME/security-lab/$(date +%F-%H%M)"
mkdir -p "$PROJECT"/{00-scope,01-logs,02-evidence,03-report}
cd "$PROJECT" || exit 1
printf '# Scope\nTarget: 192.0.2.10\nWindow: %s\n' "$(date -Is)" | tee 00-scope/scope.md
{ uname -a; kali-tweaks --help 2>&1 | head; ip -br address; ip route; } | tee 01-logs/environment.txt
script --quiet --timing=01-logs/terminal.time 01-logs/terminal.typescript
sha256sum 00-scope/scope.md 01-logs/environment.txt > 02-evidence/SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
umask 077
env | sort | tee 01-logs/environment.full.txt
apt-cache policy nmap curl jq | tee 01-logs/package-policy.txt
systemctl --failed --no-pager | tee 01-logs/failed-units.txt
journalctl --since '-15 min' -p warning --no-pager > 01-logs/recent-warnings.txt
find 00-scope 01-logs -type f -print0 | sort -z | xargs -0 sha256sum > 02-evidence/BASELINE.SHA256SUMS
tar --create --file evidence.tar 00-scope 01-logs 02-evidence
zstd --test <(zstd -c evidence.tar) 2>01-logs/archive-test.txt

خطاهای رایج

  • شروع اسکن پیش از ثبت scope و پنجره زمانی
  • ذخیره log با permission عمومی یا نام مبهم
  • بازنویسی شاهد خام به‌جای ساخت نسخه کاری

کنترل دفاعی و معیار قبولی

مالک دارایی، SOC و مسیر توقف اضطراری باید پیش از اولین فرمان مشخص باشند.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

01.01 kali-tweaksتنظیم متاپکیج، hardening و مجازی‌سازی

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای تنظیم متاپکیج، hardening و مجازی‌سازی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install kali-tweaks

SYNTAXkali-tweaks
زیرفرمان / گزینهکاربرد امنیتی
Metapackagesمجموعه ابزارها
Hardeningسخت‌سازی
Virtualizationگزینه‌های VM

مثال‌های عملی کنترل‌شده

kali-tweaks

تشریح خط‌به‌خط فرمان‌ها

  1. kali-tweaksفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- kali-tweaks | tee kali-tweaks.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s kali-tweaks ARGS > kali-tweaks.stdout.log 2> kali-tweaks.stderr.log
status=$?; printf 'tool=kali-tweaks\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee kali-tweaks.meta
sha256sum kali-tweaks.stdout.log kali-tweaks.stderr.log kali-tweaks.meta > kali-tweaks.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l kali-tweaks.stdout.log kali-tweaks.stderr.log
sed -n '1,40p' kali-tweaks.stdout.log | tee kali-tweaks.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' kali-tweaks.stderr.log > kali-tweaks.issues.txt || true
sha256sum -c kali-tweaks.SHA256SUMS | tee kali-tweaks.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.02 aptمدیریت بسته در Kali Rolling

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای مدیریت بسته در Kali Rolling استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXapt SUBCOMMAND [OPTIONS] [PACKAGE]
زیرفرمان / گزینهکاربرد امنیتی
updateتازه‌سازی فهرست
installنصب
removeحذف
full-upgradeارتقای کامل

مثال‌های عملی کنترل‌شده

sudo apt update && sudo apt full-upgrade
sudo apt install nmap
apt policy nmap

تشریح خط‌به‌خط فرمان‌ها

  1. sudo apt update && sudo apt full-upgradeبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  2. sudo apt install nmapبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  3. apt policy nmapفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- apt | tee apt.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s apt ARGS > apt.stdout.log 2> apt.stderr.log
status=$?; printf 'tool=apt\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee apt.meta
sha256sum apt.stdout.log apt.stderr.log apt.meta > apt.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l apt.stdout.log apt.stderr.log
sed -n '1,40p' apt.stdout.log | tee apt.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' apt.stderr.log > apt.issues.txt || true
sha256sum -c apt.SHA256SUMS | tee apt.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.03 apt-cacheجست‌وجوی اطلاعات بسته

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای جست‌وجوی اطلاعات بسته استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXapt-cache SUBCOMMAND QUERY
زیرفرمان / گزینهکاربرد امنیتی
searchجست‌وجو
showمشخصات
dependsوابستگی‌ها
policyنسخه‌ها

مثال‌های عملی کنترل‌شده

apt-cache search forensics
apt-cache show nmap
apt-cache depends wireshark

تشریح خط‌به‌خط فرمان‌ها

  1. apt-cache search forensicsفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. apt-cache show nmapفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. apt-cache depends wiresharkفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- apt-cache | tee apt-cache.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s apt-cache ARGS > apt-cache.stdout.log 2> apt-cache.stderr.log
status=$?; printf 'tool=apt-cache\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee apt-cache.meta
sha256sum apt-cache.stdout.log apt-cache.stderr.log apt-cache.meta > apt-cache.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l apt-cache.stdout.log apt-cache.stderr.log
sed -n '1,40p' apt-cache.stdout.log | tee apt-cache.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' apt-cache.stderr.log > apt-cache.issues.txt || true
sha256sum -c apt-cache.SHA256SUMS | tee apt-cache.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.04 dpkgبررسی بسته‌های Debian

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای بررسی بسته‌های Debian استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXdpkg [OPTIONS] PACKAGE
زیرفرمان / گزینهکاربرد امنیتی
-lفهرست نصب‌شده
-Lفایل‌های بسته
-Sمالک فایل
-iنصب deb

مثال‌های عملی کنترل‌شده

dpkg -l | grep nmap
dpkg -L nmap
dpkg -S /usr/bin/nmap

تشریح خط‌به‌خط فرمان‌ها

  1. dpkg -l | grep nmapخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. dpkg -L nmapگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. dpkg -S /usr/bin/nmapگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- dpkg | tee dpkg.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s dpkg ARGS > dpkg.stdout.log 2> dpkg.stderr.log
status=$?; printf 'tool=dpkg\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee dpkg.meta
sha256sum dpkg.stdout.log dpkg.stderr.log dpkg.meta > dpkg.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l dpkg.stdout.log dpkg.stderr.log
sed -n '1,40p' dpkg.stdout.log | tee dpkg.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' dpkg.stderr.log > dpkg.issues.txt || true
sha256sum -c dpkg.SHA256SUMS | tee dpkg.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.05 systemctlمدیریت سرویس‌ها

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای مدیریت سرویس‌ها استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXsystemctl SUBCOMMAND UNIT
زیرفرمان / گزینهکاربرد امنیتی
statusوضعیت
start/stopشروع/توقف
enable/disableبوت
restartراه‌اندازی مجدد

مثال‌های عملی کنترل‌شده

sudo systemctl enable --now postgresql
systemctl status ssh
sudo systemctl restart NetworkManager

تشریح خط‌به‌خط فرمان‌ها

  1. sudo systemctl enable --now postgresqlبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. systemctl status sshفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. sudo systemctl restart NetworkManagerبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- systemctl | tee systemctl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s systemctl ARGS > systemctl.stdout.log 2> systemctl.stderr.log
status=$?; printf 'tool=systemctl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee systemctl.meta
sha256sum systemctl.stdout.log systemctl.stderr.log systemctl.meta > systemctl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l systemctl.stdout.log systemctl.stderr.log
sed -n '1,40p' systemctl.stdout.log | tee systemctl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' systemctl.stderr.log > systemctl.issues.txt || true
sha256sum -c systemctl.SHA256SUMS | tee systemctl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.06 journalctlخواندن لاگ systemd

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای خواندن لاگ systemd استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXjournalctl [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-uواحد
-bبوت جاری
-fدنبال‌کردن
-pشدت
--sinceاز زمان

مثال‌های عملی کنترل‌شده

journalctl -u ssh --since today
journalctl -p err -b
journalctl -f

تشریح خط‌به‌خط فرمان‌ها

  1. journalctl -u ssh --since todayگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. journalctl -p err -bگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. journalctl -fگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- journalctl | tee journalctl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s journalctl ARGS > journalctl.stdout.log 2> journalctl.stderr.log
status=$?; printf 'tool=journalctl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee journalctl.meta
sha256sum journalctl.stdout.log journalctl.stderr.log journalctl.meta > journalctl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l journalctl.stdout.log journalctl.stderr.log
sed -n '1,40p' journalctl.stdout.log | tee journalctl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' journalctl.stderr.log > journalctl.issues.txt || true
sha256sum -c journalctl.SHA256SUMS | tee journalctl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.07 ipآدرس، رابط و مسیر شبکه

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای آدرس، رابط و مسیر شبکه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXip OBJECT SUBCOMMAND
زیرفرمان / گزینهکاربرد امنیتی
addrآدرس
linkرابط
routeمسیر
neighهمسایه
netnsفضای نام

مثال‌های عملی کنترل‌شده

ip -br address
ip link show
ip route
ip neigh

تشریح خط‌به‌خط فرمان‌ها

  1. ip -br addressگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. ip link showفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. ip routeفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  4. ip neighفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- ip | tee ip.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s ip ARGS > ip.stdout.log 2> ip.stderr.log
status=$?; printf 'tool=ip\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee ip.meta
sha256sum ip.stdout.log ip.stderr.log ip.meta > ip.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l ip.stdout.log ip.stderr.log
sed -n '1,40p' ip.stdout.log | tee ip.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' ip.stderr.log > ip.issues.txt || true
sha256sum -c ip.SHA256SUMS | tee ip.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.08 ssسوکت‌ها و پورت‌های محلی

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای سوکت‌ها و پورت‌های محلی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXss [OPTIONS] [FILTER]
زیرفرمان / گزینهکاربرد امنیتی
-tTCP
-uUDP
-lگوش‌دهنده
-pپردازش
-nعددی

مثال‌های عملی کنترل‌شده

ss -tulpn
ss -tan state established
ss -l '( sport = :80 )'

تشریح خط‌به‌خط فرمان‌ها

  1. ss -tulpnگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. ss -tan state establishedگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. ss -l '( sport = :80 )'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- ss | tee ss.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s ss ARGS > ss.stdout.log 2> ss.stderr.log
status=$?; printf 'tool=ss\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee ss.meta
sha256sum ss.stdout.log ss.stderr.log ss.meta > ss.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l ss.stdout.log ss.stderr.log
sed -n '1,40p' ss.stdout.log | tee ss.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' ss.stderr.log > ss.issues.txt || true
sha256sum -c ss.SHA256SUMS | tee ss.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.09 nmcliکنترل NetworkManager

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای کنترل NetworkManager استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXnmcli OBJECT COMMAND
زیرفرمان / گزینهکاربرد امنیتی
deviceدستگاه
connectionپروفایل
radioرادیو
generalوضعیت

مثال‌های عملی کنترل‌شده

nmcli device status
nmcli connection show
nmcli device wifi list

تشریح خط‌به‌خط فرمان‌ها

  1. nmcli device statusفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. nmcli connection showفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. nmcli device wifi listفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- nmcli | tee nmcli.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s nmcli ARGS > nmcli.stdout.log 2> nmcli.stderr.log
status=$?; printf 'tool=nmcli\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee nmcli.meta
sha256sum nmcli.stdout.log nmcli.stderr.log nmcli.meta > nmcli.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l nmcli.stdout.log nmcli.stderr.log
sed -n '1,40p' nmcli.stdout.log | tee nmcli.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' nmcli.stderr.log > nmcli.issues.txt || true
sha256sum -c nmcli.SHA256SUMS | tee nmcli.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.10 resolvectlوضعیت و آزمون DNS

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای وضعیت و آزمون DNS استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXresolvectl COMMAND [NAME]
زیرفرمان / گزینهکاربرد امنیتی
statusپیکربندی
queryپرس‌وجو
flush-cachesپاک‌کردن cache

مثال‌های عملی کنترل‌شده

resolvectl status
resolvectl query example.com
resolvectl statistics

تشریح خط‌به‌خط فرمان‌ها

  1. resolvectl statusفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. resolvectl query example.comفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. resolvectl statisticsفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- resolvectl | tee resolvectl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s resolvectl ARGS > resolvectl.stdout.log 2> resolvectl.stderr.log
status=$?; printf 'tool=resolvectl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee resolvectl.meta
sha256sum resolvectl.stdout.log resolvectl.stderr.log resolvectl.meta > resolvectl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l resolvectl.stdout.log resolvectl.stderr.log
sed -n '1,40p' resolvectl.stdout.log | tee resolvectl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' resolvectl.stderr.log > resolvectl.issues.txt || true
sha256sum -c resolvectl.SHA256SUMS | tee resolvectl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.11 timedatectlزمان و همگام‌سازی ساعت

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای زمان و همگام‌سازی ساعت استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXtimedatectl SUBCOMMAND
زیرفرمان / گزینهکاربرد امنیتی
statusوضعیت
set-ntpفعال‌سازی NTP
set-timezoneمنطقه زمانی

مثال‌های عملی کنترل‌شده

timedatectl status
sudo timedatectl set-ntp true

تشریح خط‌به‌خط فرمان‌ها

  1. timedatectl statusفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. sudo timedatectl set-ntp trueبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- timedatectl | tee timedatectl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s timedatectl ARGS > timedatectl.stdout.log 2> timedatectl.stderr.log
status=$?; printf 'tool=timedatectl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee timedatectl.meta
sha256sum timedatectl.stdout.log timedatectl.stderr.log timedatectl.meta > timedatectl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l timedatectl.stdout.log timedatectl.stderr.log
sed -n '1,40p' timedatectl.stdout.log | tee timedatectl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' timedatectl.stderr.log > timedatectl.issues.txt || true
sha256sum -c timedatectl.SHA256SUMS | tee timedatectl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.12 update-alternativesانتخاب برنامه پیش‌فرض

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای انتخاب برنامه پیش‌فرض استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXupdate-alternatives [OPTIONS] NAME
زیرفرمان / گزینهکاربرد امنیتی
--configانتخاب تعاملی
--displayنمایش
--setتنظیم مستقیم

مثال‌های عملی کنترل‌شده

sudo update-alternatives --config x-terminal-emulator
update-alternatives --display editor

تشریح خط‌به‌خط فرمان‌ها

  1. sudo update-alternatives --config x-terminal-emulatorبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. update-alternatives --display editorگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- update-alternatives | tee update-alternatives.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s update-alternatives ARGS > update-alternatives.stdout.log 2> update-alternatives.stderr.log
status=$?; printf 'tool=update-alternatives\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee update-alternatives.meta
sha256sum update-alternatives.stdout.log update-alternatives.stderr.log update-alternatives.meta > update-alternatives.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l update-alternatives.stdout.log update-alternatives.stderr.log
sed -n '1,40p' update-alternatives.stdout.log | tee update-alternatives.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' update-alternatives.stderr.log > update-alternatives.issues.txt || true
sha256sum -c update-alternatives.SHA256SUMS | tee update-alternatives.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.13 command-not-foundپیداکردن بسته فرمان ناشناخته

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای پیداکردن بسته فرمان ناشناخته استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install command-not-found

SYNTAXcommand-not-found COMMAND
زیرفرمان / گزینهکاربرد امنیتی
update-command-not-foundتازه‌سازی
apt-file searchجست‌وجوی فایل

مثال‌های عملی کنترل‌شده

command-not-found masscan
apt-file search bin/vol.py

تشریح خط‌به‌خط فرمان‌ها

  1. command-not-found masscanفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. apt-file search bin/vol.pyفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- command-not-found | tee command-not-found.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s command-not-found ARGS > command-not-found.stdout.log 2> command-not-found.stderr.log
status=$?; printf 'tool=command-not-found\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee command-not-found.meta
sha256sum command-not-found.stdout.log command-not-found.stderr.log command-not-found.meta > command-not-found.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l command-not-found.stdout.log command-not-found.stderr.log
sed -n '1,40p' command-not-found.stdout.log | tee command-not-found.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' command-not-found.stderr.log > command-not-found.issues.txt || true
sha256sum -c command-not-found.SHA256SUMS | tee command-not-found.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.14جدید در دوره bashاجرای شل و اسکریپت

چرا اضافه شد؟ برای کنترل pipefail، trap، آرایه و اتوماسیون قابل حسابرسی

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای اجرای شل و اسکریپت استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXbash [OPTIONS] [SCRIPT]
زیرفرمان / گزینهکاربرد امنیتی
-nبررسی syntax
-xردیابی اجرا
-cاجرای رشته
set -euo pipefailحالت سخت

مثال‌های عملی کنترل‌شده

bash script.sh
bash -n script.sh
bash -x script.sh

تشریح خط‌به‌خط فرمان‌ها

  1. bash script.shفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. bash -n script.shگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. bash -x script.shگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- bash | tee bash.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s bash ARGS > bash.stdout.log 2> bash.stderr.log
status=$?; printf 'tool=bash\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee bash.meta
sha256sum bash.stdout.log bash.stderr.log bash.meta > bash.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l bash.stdout.log bash.stderr.log
sed -n '1,40p' bash.stdout.log | tee bash.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' bash.stderr.log > bash.issues.txt || true
sha256sum -c bash.SHA256SUMS | tee bash.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.15جدید در دوره zshشل تعاملی پیش‌فرض Kali

چرا اضافه شد؟ برای محیط تعاملی امن‌تر، completion و بررسی syntax

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای شل تعاملی پیش‌فرض Kali استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض Kali

SYNTAXzsh [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-nبررسی
-xردیابی
-cاجرای فرمان

مثال‌های عملی کنترل‌شده

zsh
zsh -n script.zsh
exec zsh

تشریح خط‌به‌خط فرمان‌ها

  1. zshفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. zsh -n script.zshگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. exec zshفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- zsh | tee zsh.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s zsh ARGS > zsh.stdout.log 2> zsh.stderr.log
status=$?; printf 'tool=zsh\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee zsh.meta
sha256sum zsh.stdout.log zsh.stderr.log zsh.meta > zsh.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l zsh.stdout.log zsh.stderr.log
sed -n '1,40p' zsh.stdout.log | tee zsh.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' zsh.stderr.log > zsh.issues.txt || true
sha256sum -c zsh.SHA256SUMS | tee zsh.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

01.16جدید در دوره tmuxجلسه‌های پایدار ترمینال

چرا اضافه شد؟ برای حفظ نشست، جداسازی پنجره‌ها و capture خروجی طولانی

نقش امنیتی: از این ابزار در مسیر «مبانی لابراتوار، محدوده و ثبت شواهد» برای جلسه‌های پایدار ترمینال استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install tmux

SYNTAXtmux SUBCOMMAND
زیرفرمان / گزینهکاربرد امنیتی
newنشست جدید
attachاتصال
lsفهرست
kill-sessionحذف
capture-paneخروجی

مثال‌های عملی کنترل‌شده

tmux new -s audit
tmux ls
tmux attach -t audit
tmux capture-pane -p > pane.txt

تشریح خط‌به‌خط فرمان‌ها

  1. tmux new -s auditگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. tmux lsفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. tmux attach -t auditگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. tmux capture-pane -p > pane.txtخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- tmux | tee tmux.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s tmux ARGS > tmux.stdout.log 2> tmux.stderr.log
status=$?; printf 'tool=tmux\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee tmux.meta
sha256sum tmux.stdout.log tmux.stderr.log tmux.meta > tmux.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l tmux.stdout.log tmux.stderr.log
sed -n '1,40p' tmux.stdout.log | tee tmux.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' tmux.stderr.log > tmux.issues.txt || true
sha256sum -c tmux.SHA256SUMS | tee tmux.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

🔎

فصل امنیت 2: OSINT و شناسایی غیرفعال

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ جمع‌آوری داده عمومی با حداقل تماس مستقیم، ثبت منبع و زمان، حذف داده شخصی غیرضروری و اعتبارسنجی چندمنبعی. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. شروع از منابع عمومی و کم‌تماس
  2. یکتا‌سازی نام، URL و metadata
  3. ثبت URL منبع و timestamp

📦 خروجی‌های مورد انتظار

whois.txtemails.txturls.txtosint.SHA256SUMS

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 2/10
DOMAIN=example.com
whois "$DOMAIN" | tee whois.txt
theHarvester -d "$DOMAIN" -b crtsh,bing -f harvest.html 2>harvest.err
waybackurls "$DOMAIN" | sort -u | tee urls.txt
gau --subs "$DOMAIN" | sort -u > gau.txt
comm -12 <(sort urls.txt) <(sort gau.txt) > corroborated-urls.txt
sha256sum whois.txt urls.txt gau.txt corroborated-urls.txt > osint.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
DOMAIN=example.com
{ whois "$DOMAIN"; dig +short NS "$DOMAIN"; dig +short MX "$DOMAIN"; } | tee domain-baseline.txt
subfinder -d "$DOMAIN" -silent | sort -u > subs-a.txt
amass enum -passive -d "$DOMAIN" -o subs-b.txt
comm -12 <(sort subs-a.txt) <(sort subs-b.txt) | tee confirmed-subs.txt
httpx -l confirmed-subs.txt -silent -status-code -title -json -o confirmed-http.json
jq -r '[.url,.status_code,.title] | @tsv' confirmed-http.json > confirmed-http.tsv
sha256sum domain-baseline.txt subs-*.txt confirmed-* > osint-advanced.SHA256SUMS

خطاهای رایج

  • برابر دانستن یک نتیجه عمومی با مالکیت قطعی
  • جمع‌آوری داده شخصی بیش از نیاز ارزیابی
  • حذف URL منبع و زمان مشاهده از گزارش

کنترل دفاعی و معیار قبولی

داده OSINT را حداقل‌سازی، تاریخ‌گذاری و با دو منبع مستقل تأیید کنید.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

02.01 whoisاطلاعات ثبت دامنه و IP

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای اطلاعات ثبت دامنه و IP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install whois

SYNTAXwhois NAME
زیرفرمان / گزینهکاربرد امنیتی
-hسرور مشخص
NAMEدامنه یا IP

مثال‌های عملی کنترل‌شده

whois example.com
whois 203.0.113.10

تشریح خط‌به‌خط فرمان‌ها

  1. whois example.comفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. whois 203.0.113.10فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- whois | tee whois.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s whois ARGS > whois.stdout.log 2> whois.stderr.log
status=$?; printf 'tool=whois\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee whois.meta
sha256sum whois.stdout.log whois.stderr.log whois.meta > whois.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l whois.stdout.log whois.stderr.log
sed -n '1,40p' whois.stdout.log | tee whois.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' whois.stderr.log > whois.issues.txt || true
sha256sum -c whois.SHA256SUMS | tee whois.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.02 theHarvesterگردآوری منابع عمومی

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای گردآوری منابع عمومی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install theharvester

SYNTAXtheHarvester -d DOMAIN [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-dدامنه
-bمنبع
-lحد
-fخروجی

مثال‌های عملی کنترل‌شده

theHarvester -d example.com -b crtsh,bing -l 200 -f harvest
theHarvester -d example.com -b all -l 100

تشریح خط‌به‌خط فرمان‌ها

  1. theHarvester -d example.com -b crtsh,bing -l 200 -f harvestگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. theHarvester -d example.com -b all -l 100گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- theHarvester | tee theHarvester.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s theHarvester ARGS > theHarvester.stdout.log 2> theHarvester.stderr.log
status=$?; printf 'tool=theHarvester\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee theHarvester.meta
sha256sum theHarvester.stdout.log theHarvester.stderr.log theHarvester.meta > theHarvester.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l theHarvester.stdout.log theHarvester.stderr.log
sed -n '1,40p' theHarvester.stdout.log | tee theHarvester.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' theHarvester.stderr.log > theHarvester.issues.txt || true
sha256sum -c theHarvester.SHA256SUMS | tee theHarvester.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.03 recon-ngچارچوب ماژولار OSINT

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای چارچوب ماژولار OSINT استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install recon-ng

SYNTAXrecon-ng
زیرفرمان / گزینهکاربرد امنیتی
marketplaceمدیریت ماژول
modules loadبارگذاری
optionsتنظیم
runاجرا
showنمایش

مثال‌های عملی کنترل‌شده

recon-ng
marketplace search domains-
marketplace install MODULE
modules load MODULE
options set SOURCE example.com
run

تشریح خط‌به‌خط فرمان‌ها

  1. recon-ngفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. marketplace search domains-فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. marketplace install MODULEفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  4. modules load MODULEفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  5. options set SOURCE example.comفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- recon-ng | tee recon-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s recon-ng ARGS > recon-ng.stdout.log 2> recon-ng.stderr.log
status=$?; printf 'tool=recon-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee recon-ng.meta
sha256sum recon-ng.stdout.log recon-ng.stderr.log recon-ng.meta > recon-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l recon-ng.stdout.log recon-ng.stderr.log
sed -n '1,40p' recon-ng.stdout.log | tee recon-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' recon-ng.stderr.log > recon-ng.issues.txt || true
sha256sum -c recon-ng.SHA256SUMS | tee recon-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.04 spiderfootهمبستگی خودکار OSINT

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای همبستگی خودکار OSINT استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install spiderfoot

SYNTAXspiderfoot -l ADDRESS:PORT
زیرفرمان / گزینهکاربرد امنیتی
-lرابط وب
-sهدف
-mماژول
-oقالب خروجی

مثال‌های عملی کنترل‌شده

spiderfoot -l 127.0.0.1:5001
spiderfoot -s example.com -o json > spiderfoot.json

تشریح خط‌به‌خط فرمان‌ها

  1. spiderfoot -l 127.0.0.1:5001گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. spiderfoot -s example.com -o json > spiderfoot.jsonخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- spiderfoot | tee spiderfoot.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s spiderfoot ARGS > spiderfoot.stdout.log 2> spiderfoot.stderr.log
status=$?; printf 'tool=spiderfoot\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee spiderfoot.meta
sha256sum spiderfoot.stdout.log spiderfoot.stderr.log spiderfoot.meta > spiderfoot.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l spiderfoot.stdout.log spiderfoot.stderr.log
sed -n '1,40p' spiderfoot.stdout.log | tee spiderfoot.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' spiderfoot.stderr.log > spiderfoot.issues.txt || true
sha256sum -c spiderfoot.SHA256SUMS | tee spiderfoot.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.05 maltegoتحلیل گرافی روابط

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای تحلیل گرافی روابط استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install maltego

SYNTAXmaltego
زیرفرمان / گزینهکاربرد امنیتی
Transformsگردآوری
Machinesگردش‌کار
Entitiesموجودیت‌ها
Graphروابط

مثال‌های عملی کنترل‌شده

maltego

تشریح خط‌به‌خط فرمان‌ها

  1. maltegoفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- maltego | tee maltego.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s maltego ARGS > maltego.stdout.log 2> maltego.stderr.log
status=$?; printf 'tool=maltego\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee maltego.meta
sha256sum maltego.stdout.log maltego.stderr.log maltego.meta > maltego.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l maltego.stdout.log maltego.stderr.log
sed -n '1,40p' maltego.stdout.log | tee maltego.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' maltego.stderr.log > maltego.issues.txt || true
sha256sum -c maltego.SHA256SUMS | tee maltego.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.06 sherlockبررسی نام کاربری در سرویس‌ها

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای بررسی نام کاربری در سرویس‌ها استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install sherlock

SYNTAXsherlock USERNAME [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
--print-foundفقط یافته
--csvخروجی
--timeoutمهلت

مثال‌های عملی کنترل‌شده

sherlock example_user --print-found --csv
sherlock example_user --timeout 10

تشریح خط‌به‌خط فرمان‌ها

  1. sherlock example_user --print-found --csvگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sherlock example_user --timeout 10گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- sherlock | tee sherlock.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s sherlock ARGS > sherlock.stdout.log 2> sherlock.stderr.log
status=$?; printf 'tool=sherlock\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee sherlock.meta
sha256sum sherlock.stdout.log sherlock.stderr.log sherlock.meta > sherlock.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l sherlock.stdout.log sherlock.stderr.log
sed -n '1,40p' sherlock.stdout.log | tee sherlock.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' sherlock.stderr.log > sherlock.issues.txt || true
sha256sum -c sherlock.SHA256SUMS | tee sherlock.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.07 metagoofilجست‌وجوی متادیتای اسناد عمومی

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای جست‌وجوی متادیتای اسناد عمومی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install metagoofil

SYNTAXmetagoofil -d DOMAIN [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-dدامنه
-tنوع فایل
-lحد جست‌وجو
-nتعداد دانلود
-oپوشه

مثال‌های عملی کنترل‌شده

metagoofil -d example.com -t pdf,docx -l 50 -n 10 -o docs

تشریح خط‌به‌خط فرمان‌ها

  1. metagoofil -d example.com -t pdf,docx -l 50 -n 10 -o docsگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- metagoofil | tee metagoofil.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s metagoofil ARGS > metagoofil.stdout.log 2> metagoofil.stderr.log
status=$?; printf 'tool=metagoofil\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee metagoofil.meta
sha256sum metagoofil.stdout.log metagoofil.stderr.log metagoofil.meta > metagoofil.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l metagoofil.stdout.log metagoofil.stderr.log
sed -n '1,40p' metagoofil.stdout.log | tee metagoofil.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' metagoofil.stderr.log > metagoofil.issues.txt || true
sha256sum -c metagoofil.SHA256SUMS | tee metagoofil.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.08 exiftoolخواندن و پاک‌سازی متادیتا

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای خواندن و پاک‌سازی متادیتا استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install libimage-exiftool-perl

SYNTAXexiftool [OPTIONS] FILE
زیرفرمان / گزینهکاربرد امنیتی
-aتگ تکراری
-uناشناخته
-g1گروه‌بندی
-all=پاک‌سازی

مثال‌های عملی کنترل‌شده

exiftool -a -u -g1 document.pdf
cp photo.jpg clean.jpg && exiftool -all= -overwrite_original clean.jpg

تشریح خط‌به‌خط فرمان‌ها

  1. exiftool -a -u -g1 document.pdfگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. cp photo.jpg clean.jpg && exiftool -all= -overwrite_original clean.jpgگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- exiftool | tee exiftool.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s exiftool ARGS > exiftool.stdout.log 2> exiftool.stderr.log
status=$?; printf 'tool=exiftool\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee exiftool.meta
sha256sum exiftool.stdout.log exiftool.stderr.log exiftool.meta > exiftool.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l exiftool.stdout.log exiftool.stderr.log
sed -n '1,40p' exiftool.stdout.log | tee exiftool.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' exiftool.stderr.log > exiftool.issues.txt || true
sha256sum -c exiftool.SHA256SUMS | tee exiftool.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.09 googlerجست‌وجوی متنی وب

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای جست‌وجوی متنی وب استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install googler

SYNTAXgoogler [OPTIONS] QUERY
زیرفرمان / گزینهکاربرد امنیتی
-n/--countتعداد
--jsonJSON
-xURL کامل

مثال‌های عملی کنترل‌شده

googler --count 10 'site:example.com filetype:pdf'
googler -n 5 'example organization'

تشریح خط‌به‌خط فرمان‌ها

  1. googler --count 10 'site:example.com filetype:pdf'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. googler -n 5 'example organization'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- googler | tee googler.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s googler ARGS > googler.stdout.log 2> googler.stderr.log
status=$?; printf 'tool=googler\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee googler.meta
sha256sum googler.stdout.log googler.stderr.log googler.meta > googler.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l googler.stdout.log googler.stderr.log
sed -n '1,40p' googler.stdout.log | tee googler.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' googler.stderr.log > googler.issues.txt || true
sha256sum -c googler.SHA256SUMS | tee googler.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.10 socialscanبررسی در دسترس‌بودن شناسه عمومی

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای بررسی در دسترس‌بودن شناسه عمومی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install socialscan

SYNTAXsocialscan [OPTIONS] IDENTIFIER
زیرفرمان / گزینهکاربرد امنیتی
--platformsسرویس‌ها
--jsonخروجی
--available-onlyفقط آزاد

مثال‌های عملی کنترل‌شده

socialscan example_user --platforms github reddit
socialscan test@example.com --json results.json

تشریح خط‌به‌خط فرمان‌ها

  1. socialscan example_user --platforms github redditگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. socialscan test@example.com --json results.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- socialscan | tee socialscan.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s socialscan ARGS > socialscan.stdout.log 2> socialscan.stderr.log
status=$?; printf 'tool=socialscan\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee socialscan.meta
sha256sum socialscan.stdout.log socialscan.stderr.log socialscan.meta > socialscan.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l socialscan.stdout.log socialscan.stderr.log
sed -n '1,40p' socialscan.stdout.log | tee socialscan.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' socialscan.stderr.log > socialscan.issues.txt || true
sha256sum -c socialscan.SHA256SUMS | tee socialscan.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.11 holeheبررسی اتصال ایمیل به سرویس‌ها

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای بررسی اتصال ایمیل به سرویس‌ها استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install holehe

SYNTAXholehe EMAIL [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
--only-usedفقط استفاده‌شده
--csvخروجی
--no-colorبدون رنگ

مثال‌های عملی کنترل‌شده

holehe test@example.com --only-used
holehe test@example.com --csv

تشریح خط‌به‌خط فرمان‌ها

  1. holehe test@example.com --only-usedگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. holehe test@example.com --csvگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- holehe | tee holehe.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s holehe ARGS > holehe.stdout.log 2> holehe.stderr.log
status=$?; printf 'tool=holehe\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee holehe.meta
sha256sum holehe.stdout.log holehe.stderr.log holehe.meta > holehe.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l holehe.stdout.log holehe.stderr.log
sed -n '1,40p' holehe.stdout.log | tee holehe.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' holehe.stderr.log > holehe.issues.txt || true
sha256sum -c holehe.SHA256SUMS | tee holehe.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.12 waybackurlsURLهای تاریخی منابع عمومی

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای URLهای تاریخی منابع عمومی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: go install github.com/tomnomnom/waybackurls@latest

SYNTAXwaybackurls < domains.txt
زیرفرمان / گزینهکاربرد امنیتی
stdinدامنه
stdoutURL تاریخی

مثال‌های عملی کنترل‌شده

printf '%s\n' example.com | waybackurls | sort -u > wayback.txt

تشریح خط‌به‌خط فرمان‌ها

  1. printf '%s\n' example.com | waybackurls | sort -u > wayback.txtخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ خروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- waybackurls | tee waybackurls.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s waybackurls ARGS > waybackurls.stdout.log 2> waybackurls.stderr.log
status=$?; printf 'tool=waybackurls\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee waybackurls.meta
sha256sum waybackurls.stdout.log waybackurls.stderr.log waybackurls.meta > waybackurls.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l waybackurls.stdout.log waybackurls.stderr.log
sed -n '1,40p' waybackurls.stdout.log | tee waybackurls.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' waybackurls.stderr.log > waybackurls.issues.txt || true
sha256sum -c waybackurls.SHA256SUMS | tee waybackurls.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.13 gauگردآوری URL از آرشیوهای عمومی

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای گردآوری URL از آرشیوهای عمومی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: go install github.com/lc/gau/v2/cmd/gau@latest

SYNTAXgau [OPTIONS] DOMAIN
زیرفرمان / گزینهکاربرد امنیتی
--subsزیردامنه‌ها
--providersمنابع
--jsonخروجی
--blacklistپسوندها

مثال‌های عملی کنترل‌شده

gau --subs --providers wayback,commoncrawl example.com > gau.txt
gau --json example.com > gau.json

تشریح خط‌به‌خط فرمان‌ها

  1. gau --subs --providers wayback,commoncrawl example.com > gau.txtخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. gau --json example.com > gau.jsonخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- gau | tee gau.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s gau ARGS > gau.stdout.log 2> gau.stderr.log
status=$?; printf 'tool=gau\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee gau.meta
sha256sum gau.stdout.log gau.stderr.log gau.meta > gau.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l gau.stdout.log gau.stderr.log
sed -n '1,40p' gau.stdout.log | tee gau.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' gau.stderr.log > gau.issues.txt || true
sha256sum -c gau.SHA256SUMS | tee gau.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.14جدید در دوره dnsvizتحلیل تصویری زنجیره DNSSEC

چرا اضافه شد؟ برای نمایش و تحلیل chain of trust در DNSSEC

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای تحلیل تصویری زنجیره DNSSEC استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install dnsviz

SYNTAXdnsviz COMMAND [OPTIONS] NAME
زیرفرمان / گزینهکاربرد امنیتی
probeجمع‌آوری
analyzeتحلیل
graphنمودار
printمتن
-oخروجی
-Tقالب

مثال‌های عملی کنترل‌شده

dnsviz probe example.test -o probe.json
dnsviz analyze probe.json > analysis.txt
dnsviz graph -T svg probe.json -o dnssec.svg
dnsviz print probe.json

تشریح خط‌به‌خط فرمان‌ها

  1. dnsviz probe example.test -o probe.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. dnsviz analyze probe.json > analysis.txtخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید.
  3. dnsviz graph -T svg probe.json -o dnssec.svgگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. dnsviz print probe.jsonفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- dnsviz | tee dnsviz.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s dnsviz ARGS > dnsviz.stdout.log 2> dnsviz.stderr.log
status=$?; printf 'tool=dnsviz\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee dnsviz.meta
sha256sum dnsviz.stdout.log dnsviz.stderr.log dnsviz.meta > dnsviz.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l dnsviz.stdout.log dnsviz.stderr.log
sed -n '1,40p' dnsviz.stdout.log | tee dnsviz.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' dnsviz.stderr.log > dnsviz.issues.txt || true
sha256sum -c dnsviz.SHA256SUMS | tee dnsviz.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.15جدید در دوره zonemaster-cliآزمون سلامت و delegation دامنه

چرا اضافه شد؟ برای سنجش delegation و سلامت عملیاتی DNS

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای آزمون سلامت و delegation دامنه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install zonemaster-cli

SYNTAXzonemaster-cli [OPTIONS] DOMAIN
زیرفرمان / گزینهکاربرد امنیتی
--levelشدت
--jsonJSON
--testماژول
--profileپروفایل
--nsnameserver
--ipv4IPv4

مثال‌های عملی کنترل‌شده

zonemaster-cli example.test
zonemaster-cli --level warning example.test
zonemaster-cli --json example.test > zonemaster.json
zonemaster-cli --test delegation example.test

تشریح خط‌به‌خط فرمان‌ها

  1. zonemaster-cli example.testفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. zonemaster-cli --level warning example.testگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. zonemaster-cli --json example.test > zonemaster.jsonخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. zonemaster-cli --test delegation example.testگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- zonemaster-cli | tee zonemaster-cli.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s zonemaster-cli ARGS > zonemaster-cli.stdout.log 2> zonemaster-cli.stderr.log
status=$?; printf 'tool=zonemaster-cli\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee zonemaster-cli.meta
sha256sum zonemaster-cli.stdout.log zonemaster-cli.stderr.log zonemaster-cli.meta > zonemaster-cli.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l zonemaster-cli.stdout.log zonemaster-cli.stderr.log
sed -n '1,40p' zonemaster-cli.stdout.log | tee zonemaster-cli.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' zonemaster-cli.stderr.log > zonemaster-cli.issues.txt || true
sha256sum -c zonemaster-cli.SHA256SUMS | tee zonemaster-cli.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

02.16جدید در دوره kdigپرس‌وجوی DNS پیشرفته از Knot

چرا اضافه شد؟ برای پرس‌وجوی DNS، DoT و DoH با خروجی دقیق

نقش امنیتی: از این ابزار در مسیر «OSINT و شناسایی غیرفعال» برای پرس‌وجوی DNS پیشرفته از Knot استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install knot-dnsutils

SYNTAXkdig [OPTIONS] NAME [TYPE]
زیرفرمان / گزینهکاربرد امنیتی
@SERVERسرور
+dnssecDNSSEC
+tlsDoT
+httpsDoH
+multilineخوانا
-pپورت

مثال‌های عملی کنترل‌شده

kdig example.test A +dnssec
kdig @RESOLVER example.test DNSKEY +multiline
kdig +tls @RESOLVER example.test A
kdig +https @RESOLVER example.test AAAA

تشریح خط‌به‌خط فرمان‌ها

  1. kdig example.test A +dnssecفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. kdig @RESOLVER example.test DNSKEY +multilineفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. kdig +tls @RESOLVER example.test Aفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  4. kdig +https @RESOLVER example.test AAAAفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- kdig | tee kdig.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s kdig ARGS > kdig.stdout.log 2> kdig.stderr.log
status=$?; printf 'tool=kdig\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee kdig.meta
sha256sum kdig.stdout.log kdig.stderr.log kdig.meta > kdig.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l kdig.stdout.log kdig.stderr.log
sed -n '1,40p' kdig.stdout.log | tee kdig.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' kdig.stderr.log > kdig.issues.txt || true
sha256sum -c kdig.SHA256SUMS | tee kdig.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

📡

فصل امنیت 3: کشف شبکه و شناسایی سرویس

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ از کشف میزبان با نرخ محدود به تشخیص سرویس و enumeration هدفمند بروید؛ خروجی هر مرحله ورودی مرحله بعد باشد. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. کشف میزبان با نرخ محدود
  2. تبدیل میزبان زنده به فهرست ورودی
  3. تشخیص سرویس و enumeration هدفمند

📦 خروجی‌های مورد انتظار

discovery.gnmaplive.txtservices.xmlservice-summary.tsv

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 3/10
SUBNET=192.0.2.0/28
nmap -sn "$SUBNET" -oA discovery
awk '/Up$/{print $2}' discovery.gnmap | sort -u | tee live.txt
nmap -sV -sC --version-light -iL live.txt -oA services
awk '/Ports:/{print $2,$0}' services.gnmap > service-summary.txt
dig +short -x 192.0.2.10 | tee reverse-dns.txt
smbclient -L //192.0.2.10 -N 2>smb.err | tee smb-shares.txt
sha256sum discovery.* services.* live.txt > network.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
TARGETS=live.txt
nmap -sV --version-all --reason -iL "$TARGETS" -oA service-detail
awk '/Ports:/{print $2,$0}' service-detail.gnmap | tee exposed-services.txt
awk '/53\/open/{print $2}' service-detail.gnmap | while read -r host; do dig +time=2 +tries=1 "@$host" version.bind chaos txt; done > dns-checks.txt
awk '/445\/open/{print $2}' service-detail.gnmap | while read -r host; do timeout 15s smbclient -L "//$host" -N; done > smb-checks.txt 2>smb-checks.err
awk '/161\/open/{print $2}' service-detail.gnmap | while read -r host; do timeout 10s snmpwalk -v2c -c LAB_COMMUNITY "$host" 1.3.6.1.2.1.1; done > snmp-system.txt 2>snmp.err
sha256sum service-detail.* *-checks.* snmp* > enumeration.SHA256SUMS

خطاهای رایج

  • اجرای نرخ بالا بدون توجه به ظرفیت شبکه
  • اجرای enumeration همه پروتکل‌ها بدون مشاهده پورت
  • نادیده‌گرفتن UDP و دلیل open یا filtered

کنترل دفاعی و معیار قبولی

نرخ، timeout و concurrency را به‌صورت صریح محدود و با تیم شبکه هماهنگ کنید.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

03.01 nmapاسکن و تشخیص سرویس

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای اسکن و تشخیص سرویس استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install nmap

SYNTAXnmap [SCAN] [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد امنیتی
-snکشف
-p-همه پورت‌ها
-sVنسخه
-sCNSE پیش‌فرض
-Oسیستم‌عامل
-oAهمه خروجی‌ها

مثال‌های عملی کنترل‌شده

nmap -sn 192.0.2.0/24 -oA discovery
sudo nmap -p- --min-rate 1000 TARGET -oA allports
nmap -sV -sC -p 22,80,443 TARGET -oA services

تشریح خط‌به‌خط فرمان‌ها

  1. nmap -sn 192.0.2.0/24 -oA discoveryگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo nmap -p- --min-rate 1000 TARGET -oA allportsبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. nmap -sV -sC -p 22,80,443 TARGET -oA servicesگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- nmap | tee nmap.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s nmap ARGS > nmap.stdout.log 2> nmap.stderr.log
status=$?; printf 'tool=nmap\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee nmap.meta
sha256sum nmap.stdout.log nmap.stderr.log nmap.meta > nmap.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l nmap.stdout.log nmap.stderr.log
sed -n '1,40p' nmap.stdout.log | tee nmap.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' nmap.stderr.log > nmap.issues.txt || true
sha256sum -c nmap.SHA256SUMS | tee nmap.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.02 masscanکشف سریع پورت در بازه مجاز

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای کشف سریع پورت در بازه مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install masscan

SYNTAXmasscan RANGE -p PORTS [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-pپورت
--rateنرخ
-eرابط
--router-macروتر
-oJJSON

مثال‌های عملی کنترل‌شده

sudo masscan 192.0.2.0/24 -p80,443 --rate 500 -oJ masscan.json
# سپس تأیید با nmap
nmap -sV -p80,443 TARGET

تشریح خط‌به‌خط فرمان‌ها

  1. sudo masscan 192.0.2.0/24 -p80,443 --rate 500 -oJ masscan.jsonبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. nmap -sV -p80,443 TARGETگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- masscan | tee masscan.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s masscan ARGS > masscan.stdout.log 2> masscan.stderr.log
status=$?; printf 'tool=masscan\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee masscan.meta
sha256sum masscan.stdout.log masscan.stderr.log masscan.meta > masscan.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l masscan.stdout.log masscan.stderr.log
sed -n '1,40p' masscan.stdout.log | tee masscan.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' masscan.stderr.log > masscan.issues.txt || true
sha256sum -c masscan.SHA256SUMS | tee masscan.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.03 rustscanکشف پورت و تحویل به nmap

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای کشف پورت و تحویل به nmap استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install rustscan

SYNTAXrustscan -a TARGET [OPTIONS] -- [NMAP]
زیرفرمان / گزینهکاربرد امنیتی
-aهدف
-rبازه
-bbatch
--ulimitحد فایل
--گزینه nmap

مثال‌های عملی کنترل‌شده

rustscan -a TARGET -r 1-65535 -- -sV -sC
rustscan -a targets.txt -b 1000

تشریح خط‌به‌خط فرمان‌ها

  1. rustscan -a TARGET -r 1-65535 -- -sV -sCگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. rustscan -a targets.txt -b 1000گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- rustscan | tee rustscan.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s rustscan ARGS > rustscan.stdout.log 2> rustscan.stderr.log
status=$?; printf 'tool=rustscan\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee rustscan.meta
sha256sum rustscan.stdout.log rustscan.stderr.log rustscan.meta > rustscan.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l rustscan.stdout.log rustscan.stderr.log
sed -n '1,40p' rustscan.stdout.log | tee rustscan.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' rustscan.stderr.log > rustscan.issues.txt || true
sha256sum -c rustscan.SHA256SUMS | tee rustscan.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.04 arp-scanکشف لایه دوم محلی

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای کشف لایه دوم محلی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install arp-scan

SYNTAXarp-scan [OPTIONS] RANGE
زیرفرمان / گزینهکاربرد امنیتی
--localnetشبکه محلی
-Iرابط
-llocalnet
--retryتکرار

مثال‌های عملی کنترل‌شده

sudo arp-scan --localnet
sudo arp-scan -I eth0 192.0.2.0/24

تشریح خط‌به‌خط فرمان‌ها

  1. sudo arp-scan --localnetبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo arp-scan -I eth0 192.0.2.0/24با دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- arp-scan | tee arp-scan.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s arp-scan ARGS > arp-scan.stdout.log 2> arp-scan.stderr.log
status=$?; printf 'tool=arp-scan\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee arp-scan.meta
sha256sum arp-scan.stdout.log arp-scan.stderr.log arp-scan.meta > arp-scan.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l arp-scan.stdout.log arp-scan.stderr.log
sed -n '1,40p' arp-scan.stdout.log | tee arp-scan.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' arp-scan.stderr.log > arp-scan.issues.txt || true
sha256sum -c arp-scan.SHA256SUMS | tee arp-scan.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.05 fpingping چند هدف

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای ping چند هدف استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install fping

SYNTAXfping [OPTIONS] TARGETS
زیرفرمان / گزینهکاربرد امنیتی
-aزنده
-gتولید بازه
-fفایل
-cتعداد
-ttimeout

مثال‌های عملی کنترل‌شده

fping -a -g 192.0.2.0/24 2>/dev/null
fping -f hosts.txt -c 3

تشریح خط‌به‌خط فرمان‌ها

  1. fping -a -g 192.0.2.0/24 2>/dev/nullخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ جریان خطا را نیز ثبت یا ادغام می‌کند؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. fping -f hosts.txt -c 3گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- fping | tee fping.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s fping ARGS > fping.stdout.log 2> fping.stderr.log
status=$?; printf 'tool=fping\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee fping.meta
sha256sum fping.stdout.log fping.stderr.log fping.meta > fping.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l fping.stdout.log fping.stderr.log
sed -n '1,40p' fping.stdout.log | tee fping.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' fping.stderr.log > fping.issues.txt || true
sha256sum -c fping.SHA256SUMS | tee fping.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.06 hping3ساخت بسته و آزمون فایروال مجاز

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای ساخت بسته و آزمون فایروال مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install hping3

SYNTAXhping3 [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد امنیتی
-SSYN
--udpUDP
-pپورت
-cتعداد
-iفاصله

مثال‌های عملی کنترل‌شده

sudo hping3 -S -p 443 -c 3 TARGET
sudo hping3 --udp -p 53 -c 3 TARGET

تشریح خط‌به‌خط فرمان‌ها

  1. sudo hping3 -S -p 443 -c 3 TARGETبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo hping3 --udp -p 53 -c 3 TARGETبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- hping3 | tee hping3.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s hping3 ARGS > hping3.stdout.log 2> hping3.stderr.log
status=$?; printf 'tool=hping3\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee hping3.meta
sha256sum hping3.stdout.log hping3.stderr.log hping3.meta > hping3.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l hping3.stdout.log hping3.stderr.log
sed -n '1,40p' hping3.stdout.log | tee hping3.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' hping3.stderr.log > hping3.issues.txt || true
sha256sum -c hping3.SHA256SUMS | tee hping3.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.07 netcatاتصال و آزمون TCP/UDP

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای اتصال و آزمون TCP/UDP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install netcat-openbsd

SYNTAXnc [OPTIONS] HOST PORT
زیرفرمان / گزینهکاربرد امنیتی
-zبدون داده
-vجزئیات
-lگوش‌دادن
-uUDP
-wtimeout

مثال‌های عملی کنترل‌شده

nc -vz TARGET 1-1024
nc -v TARGET 80
printf 'HEAD / HTTP/1.0\r\n\r\n' | nc TARGET 80

تشریح خط‌به‌خط فرمان‌ها

  1. nc -vz TARGET 1-1024گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. nc -v TARGET 80گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. printf 'HEAD / HTTP/1.0\r\n\r\n' | nc TARGET 80خروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- netcat | tee netcat.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s netcat ARGS > netcat.stdout.log 2> netcat.stderr.log
status=$?; printf 'tool=netcat\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee netcat.meta
sha256sum netcat.stdout.log netcat.stderr.log netcat.meta > netcat.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l netcat.stdout.log netcat.stderr.log
sed -n '1,40p' netcat.stdout.log | tee netcat.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' netcat.stderr.log > netcat.issues.txt || true
sha256sum -c netcat.SHA256SUMS | tee netcat.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.08 digپرس‌وجوی دقیق DNS

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای پرس‌وجوی دقیق DNS استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install dnsutils

SYNTAXdig [@SERVER] NAME [TYPE]
زیرفرمان / گزینهکاربرد امنیتی
+shortخلاصه
+traceردیابی
-xPTR
@SERVERسرور

مثال‌های عملی کنترل‌شده

dig +short A example.com
dig @SERVER example.com ANY
dig +trace example.com

تشریح خط‌به‌خط فرمان‌ها

  1. dig +short A example.comفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. dig @SERVER example.com ANYفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. dig +trace example.comفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- dig | tee dig.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s dig ARGS > dig.stdout.log 2> dig.stderr.log
status=$?; printf 'tool=dig\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee dig.meta
sha256sum dig.stdout.log dig.stderr.log dig.meta > dig.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l dig.stdout.log dig.stderr.log
sed -n '1,40p' dig.stdout.log | tee dig.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' dig.stderr.log > dig.issues.txt || true
sha256sum -c dig.SHA256SUMS | tee dig.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.09 dnsreconشناسایی رکوردهای DNS

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای شناسایی رکوردهای DNS استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install dnsrecon

SYNTAXdnsrecon -d DOMAIN [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-dدامنه
-tنوع
-Dواژه‌نامه
-jJSON
-nnameserver

مثال‌های عملی کنترل‌شده

dnsrecon -d example.com -t std -j dns.json
dnsrecon -d example.com -t brt -D names.txt

تشریح خط‌به‌خط فرمان‌ها

  1. dnsrecon -d example.com -t std -j dns.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. dnsrecon -d example.com -t brt -D names.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- dnsrecon | tee dnsrecon.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s dnsrecon ARGS > dnsrecon.stdout.log 2> dnsrecon.stderr.log
status=$?; printf 'tool=dnsrecon\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee dnsrecon.meta
sha256sum dnsrecon.stdout.log dnsrecon.stderr.log dnsrecon.meta > dnsrecon.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l dnsrecon.stdout.log dnsrecon.stderr.log
sed -n '1,40p' dnsrecon.stdout.log | tee dnsrecon.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' dnsrecon.stderr.log > dnsrecon.issues.txt || true
sha256sum -c dnsrecon.SHA256SUMS | tee dnsrecon.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.10 smbclientاتصال و فهرست SMB

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای اتصال و فهرست SMB استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install smbclient

SYNTAXsmbclient [OPTIONS] //HOST/SHARE
زیرفرمان / گزینهکاربرد امنیتی
-Lshares
-Nبدون رمز
-Uکاربر
-cفرمان
-mنسخه پروتکل

مثال‌های عملی کنترل‌شده

smbclient -L //TARGET -N
smbclient //TARGET/share -U 'user%pass'
smbclient //TARGET/share -N -c 'ls'

تشریح خط‌به‌خط فرمان‌ها

  1. smbclient -L //TARGET -Nگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. smbclient //TARGET/share -U 'user%pass'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. smbclient //TARGET/share -N -c 'ls'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- smbclient | tee smbclient.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s smbclient ARGS > smbclient.stdout.log 2> smbclient.stderr.log
status=$?; printf 'tool=smbclient\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee smbclient.meta
sha256sum smbclient.stdout.log smbclient.stderr.log smbclient.meta > smbclient.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l smbclient.stdout.log smbclient.stderr.log
sed -n '1,40p' smbclient.stdout.log | tee smbclient.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' smbclient.stderr.log > smbclient.issues.txt || true
sha256sum -c smbclient.SHA256SUMS | tee smbclient.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.11 enum4linux-ngشمارش SMB/Windows

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای شمارش SMB/Windows استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install enum4linux-ng

SYNTAXenum4linux-ng [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد امنیتی
-Aهمه
-Sshares
-Uکاربران
-Gگروه‌ها
-oAخروجی

مثال‌های عملی کنترل‌شده

enum4linux-ng -A TARGET -oA enum
enum4linux-ng -S -U -G TARGET

تشریح خط‌به‌خط فرمان‌ها

  1. enum4linux-ng -A TARGET -oA enumگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. enum4linux-ng -S -U -G TARGETگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- enum4linux-ng | tee enum4linux-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s enum4linux-ng ARGS > enum4linux-ng.stdout.log 2> enum4linux-ng.stderr.log
status=$?; printf 'tool=enum4linux-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee enum4linux-ng.meta
sha256sum enum4linux-ng.stdout.log enum4linux-ng.stderr.log enum4linux-ng.meta > enum4linux-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l enum4linux-ng.stdout.log enum4linux-ng.stderr.log
sed -n '1,40p' enum4linux-ng.stdout.log | tee enum4linux-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' enum4linux-ng.stderr.log > enum4linux-ng.issues.txt || true
sha256sum -c enum4linux-ng.SHA256SUMS | tee enum4linux-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.12 snmpwalkپیمایش SNMP مجاز

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای پیمایش SNMP مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install snmp

SYNTAXsnmpwalk [OPTIONS] AGENT OID
زیرفرمان / گزینهکاربرد امنیتی
-vنسخه
-ccommunity
-OnOID عددی
-OaASCII

مثال‌های عملی کنترل‌شده

snmpwalk -v2c -c COMMUNITY TARGET 1.3.6.1.2.1.1
snmpget -v2c -c COMMUNITY TARGET sysName.0

تشریح خط‌به‌خط فرمان‌ها

  1. snmpwalk -v2c -c COMMUNITY TARGET 1.3.6.1.2.1.1گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. snmpget -v2c -c COMMUNITY TARGET sysName.0گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- snmpwalk | tee snmpwalk.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s snmpwalk ARGS > snmpwalk.stdout.log 2> snmpwalk.stderr.log
status=$?; printf 'tool=snmpwalk\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee snmpwalk.meta
sha256sum snmpwalk.stdout.log snmpwalk.stderr.log snmpwalk.meta > snmpwalk.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l snmpwalk.stdout.log snmpwalk.stderr.log
sed -n '1,40p' snmpwalk.stdout.log | tee snmpwalk.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' snmpwalk.stderr.log > snmpwalk.issues.txt || true
sha256sum -c snmpwalk.SHA256SUMS | tee snmpwalk.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.13 ldapsearchپرس‌وجوی LDAP

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای پرس‌وجوی LDAP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install ldap-utils

SYNTAXldapsearch [OPTIONS] FILTER [ATTRS]
زیرفرمان / گزینهکاربرد امنیتی
-xsimple
-HURI
-bbase DN
-sscope
-Dbind DN
-Wرمز

مثال‌های عملی کنترل‌شده

ldapsearch -x -H ldap://TARGET -s base namingContexts
ldapsearch -x -H ldap://TARGET -b 'dc=example,dc=test' '(objectClass=person)' cn

تشریح خط‌به‌خط فرمان‌ها

  1. ldapsearch -x -H ldap://TARGET -s base namingContextsگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. ldapsearch -x -H ldap://TARGET -b 'dc=example,dc=test' '(objectClass=person)' cnگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- ldapsearch | tee ldapsearch.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s ldapsearch ARGS > ldapsearch.stdout.log 2> ldapsearch.stderr.log
status=$?; printf 'tool=ldapsearch\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee ldapsearch.meta
sha256sum ldapsearch.stdout.log ldapsearch.stderr.log ldapsearch.meta > ldapsearch.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l ldapsearch.stdout.log ldapsearch.stderr.log
sed -n '1,40p' ldapsearch.stdout.log | tee ldapsearch.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' ldapsearch.stderr.log > ldapsearch.issues.txt || true
sha256sum -c ldapsearch.SHA256SUMS | tee ldapsearch.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.14جدید در دوره mtrping و traceroute پیوسته

چرا اضافه شد؟ برای ترکیب latency، loss و مسیر در عیب‌یابی شبکه

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای ping و traceroute پیوسته استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install mtr-tiny

SYNTAXmtr [OPTIONS] HOST
زیرفرمان / گزینهکاربرد امنیتی
-rگزارش
-wعریض
-zAS
-cتعداد
-TTCP
-Pپورت

مثال‌های عملی کنترل‌شده

mtr -rwzc 20 TARGET
mtr -T -P 443 TARGET

تشریح خط‌به‌خط فرمان‌ها

  1. mtr -rwzc 20 TARGETگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. mtr -T -P 443 TARGETگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- mtr | tee mtr.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s mtr ARGS > mtr.stdout.log 2> mtr.stderr.log
status=$?; printf 'tool=mtr\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee mtr.meta
sha256sum mtr.stdout.log mtr.stderr.log mtr.meta > mtr.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l mtr.stdout.log mtr.stderr.log
sed -n '1,40p' mtr.stdout.log | tee mtr.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' mtr.stderr.log > mtr.issues.txt || true
sha256sum -c mtr.SHA256SUMS | tee mtr.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.15جدید در دوره p0fاثر انگشت غیرفعال سیستم‌عامل

چرا اضافه شد؟ برای fingerprint غیرفعال سیستم‌عامل بدون probe اضافی

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای اثر انگشت غیرفعال سیستم‌عامل استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install p0f

SYNTAXp0f [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-iرابط
-oلاگ
-rpcap
-ppromiscuous

مثال‌های عملی کنترل‌شده

sudo p0f -i eth0 -o p0f.log
sudo p0f -r capture.pcap

تشریح خط‌به‌خط فرمان‌ها

  1. sudo p0f -i eth0 -o p0f.logبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo p0f -r capture.pcapبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- p0f | tee p0f.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s p0f ARGS > p0f.stdout.log 2> p0f.stderr.log
status=$?; printf 'tool=p0f\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee p0f.meta
sha256sum p0f.stdout.log p0f.stderr.log p0f.meta > p0f.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l p0f.stdout.log p0f.stderr.log
sed -n '1,40p' p0f.stdout.log | tee p0f.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' p0f.stderr.log > p0f.issues.txt || true
sha256sum -c p0f.SHA256SUMS | tee p0f.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

03.16جدید در دوره openssl-s_clientبررسی TLS و گواهی

چرا اضافه شد؟ برای بررسی TLS، certificate chain و سرویس‌های رمزگذاری‌شده

نقش امنیتی: از این ابزار در مسیر «کشف شبکه و شناسایی سرویس» برای بررسی TLS و گواهی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXopenssl s_client [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-connectمقصد
-servernameSNI
-showcertsزنجیره
-tls1_2نسخه

مثال‌های عملی کنترل‌شده

openssl s_client -connect TARGET:443 -servername example.test </dev/null
openssl s_client -connect TARGET:443 -showcerts </dev/null

تشریح خط‌به‌خط فرمان‌ها

  1. openssl s_client -connect TARGET:443 -servername example.test </dev/nullگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. openssl s_client -connect TARGET:443 -showcerts </dev/nullگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- openssl-s_client | tee openssl-s_client.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s openssl-s_client ARGS > openssl-s_client.stdout.log 2> openssl-s_client.stderr.log
status=$?; printf 'tool=openssl-s_client\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee openssl-s_client.meta
sha256sum openssl-s_client.stdout.log openssl-s_client.stderr.log openssl-s_client.meta > openssl-s_client.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l openssl-s_client.stdout.log openssl-s_client.stderr.log
sed -n '1,40p' openssl-s_client.stdout.log | tee openssl-s_client.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' openssl-s_client.stderr.log > openssl-s_client.issues.txt || true
sha256sum -c openssl-s_client.SHA256SUMS | tee openssl-s_client.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

🕸️

فصل امنیت 4: ارزیابی امنیت برنامه وب

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ درخواست، پاسخ، فناوری، مسیر و یافته را ثبت کنید؛ scanner فقط سرنخ می‌دهد و تأیید دستی کم‌خطر لازم است. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. ثبت درخواست و پاسخ پایه
  2. تشخیص فناوری و مسیرها با نرخ کم
  3. اعتبارسنجی یافته scanner به‌صورت دستی

📦 خروجی‌های مورد انتظار

headers.txthttpx.jsonpaths.jsonweb.SHA256SUMS

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 4/10
BASE=https://TARGET
curl --fail --silent --show-error --dump-header headers.txt --output body.html "$BASE/"
printf '%s\n' "$BASE" | httpx -json -title -status-code -tech-detect | tee httpx.json
ffuf -u "$BASE/FUZZ" -w words.txt -rate 5 -t 2 -of json -o paths.json
nuclei -u "$BASE" -severity info,low,medium -rate-limit 5 -jsonl -o nuclei.jsonl
jq -r '.results[]? | [.status,.url] | @tsv' paths.json > paths.tsv
sha256sum headers.txt body.html httpx.json paths.json nuclei.jsonl > web.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
BASE=https://TARGET
curl --silent --show-error --write-out '%{json}\n' --output /dev/null "$BASE/" | tee curl-metrics.json
curl --silent --dump-header security-headers.txt --output /dev/null "$BASE/"
printf '%s\n' "$BASE" | httpx -silent -json -tls-grab -tech-detect -o web-profile.json
nikto -h "$BASE" -Format json -output nikto.json
jq -r 'to_entries[] | select(.key|test("strict|content-security|x-frame";"i"))' < <(python3 - <<'PY2'
import json
print(json.dumps(dict(line.rstrip().split(': ',1) for line in open('security-headers.txt') if ': ' in line)))
PY2
) > selected-headers.json
sha256sum curl-metrics.json security-headers.txt web-profile.json nikto.json > web-advanced.SHA256SUMS

خطاهای رایج

  • تفسیر status code به‌تنهایی به‌عنوان آسیب‌پذیری
  • fuzz با thread و rate نامحدود
  • گزارش scanner بدون درخواست و پاسخ قابل بازتولید

کنترل دفاعی و معیار قبولی

برای هر یافته، request، response، اثر، مثبت کاذب و راهکار را جدا ثبت کنید.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

04.01 curlساخت و ثبت درخواست HTTP

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای ساخت و ثبت درخواست HTTP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXcurl [OPTIONS] URL
زیرفرمان / گزینهکاربرد امنیتی
-iهدر پاسخ
-sSساکت با خطا
-kلابراتوار TLS
-Dذخیره هدر
-oخروجی
-xپروکسی

مثال‌های عملی کنترل‌شده

curl -isk https://TARGET/
curl -sS -D headers.txt -o body.html https://TARGET/
curl -x http://127.0.0.1:8080 http://TARGET/

تشریح خط‌به‌خط فرمان‌ها

  1. curl -isk https://TARGET/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. curl -sS -D headers.txt -o body.html https://TARGET/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. curl -x http://127.0.0.1:8080 http://TARGET/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- curl | tee curl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s curl ARGS > curl.stdout.log 2> curl.stderr.log
status=$?; printf 'tool=curl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee curl.meta
sha256sum curl.stdout.log curl.stderr.log curl.meta > curl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l curl.stdout.log curl.stderr.log
sed -n '1,40p' curl.stdout.log | tee curl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' curl.stderr.log > curl.issues.txt || true
sha256sum -c curl.SHA256SUMS | tee curl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.02 wgetدانلود و mirror کنترل‌شده

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای دانلود و mirror کنترل‌شده استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXwget [OPTIONS] URL
زیرفرمان / گزینهکاربرد امنیتی
-Oفایل
--mirrorآینه
--no-parentعدم صعود
--limit-rateنرخ

مثال‌های عملی کنترل‌شده

wget -O page.html http://TARGET/
wget --mirror --no-parent --convert-links http://TARGET/docs/

تشریح خط‌به‌خط فرمان‌ها

  1. wget -O page.html http://TARGET/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. wget --mirror --no-parent --convert-links http://TARGET/docs/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- wget | tee wget.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s wget ARGS > wget.stdout.log 2> wget.stderr.log
status=$?; printf 'tool=wget\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee wget.meta
sha256sum wget.stdout.log wget.stderr.log wget.meta > wget.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l wget.stdout.log wget.stderr.log
sed -n '1,40p' wget.stdout.log | tee wget.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' wget.stderr.log > wget.issues.txt || true
sha256sum -c wget.SHA256SUMS | tee wget.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.03 httpxاعتبارسنجی سرویس‌های HTTP

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای اعتبارسنجی سرویس‌های HTTP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install httpx-toolkit

SYNTAXhttpx [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-lورودی
-titleعنوان
-status-codeکد
-tech-detectفناوری
-jsonJSON

مثال‌های عملی کنترل‌شده

httpx -l hosts.txt -title -status-code -tech-detect -o httpx.txt
httpx -l urls.txt -json -o httpx.json

تشریح خط‌به‌خط فرمان‌ها

  1. httpx -l hosts.txt -title -status-code -tech-detect -o httpx.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. httpx -l urls.txt -json -o httpx.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- httpx | tee httpx.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s httpx ARGS > httpx.stdout.log 2> httpx.stderr.log
status=$?; printf 'tool=httpx\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee httpx.meta
sha256sum httpx.stdout.log httpx.stderr.log httpx.meta > httpx.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l httpx.stdout.log httpx.stderr.log
sed -n '1,40p' httpx.stdout.log | tee httpx.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' httpx.stderr.log > httpx.issues.txt || true
sha256sum -c httpx.SHA256SUMS | tee httpx.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.04 whatwebاثر انگشت فناوری وب

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای اثر انگشت فناوری وب استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install whatweb

SYNTAXwhatweb [OPTIONS] URL
زیرفرمان / گزینهکاربرد امنیتی
-aسطح aggressiveness
-iفایل
--log-jsonJSON
--proxyپروکسی

مثال‌های عملی کنترل‌شده

whatweb -a 1 http://TARGET
whatweb -i urls.txt --log-json whatweb.json

تشریح خط‌به‌خط فرمان‌ها

  1. whatweb -a 1 http://TARGETگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. whatweb -i urls.txt --log-json whatweb.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- whatweb | tee whatweb.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s whatweb ARGS > whatweb.stdout.log 2> whatweb.stderr.log
status=$?; printf 'tool=whatweb\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee whatweb.meta
sha256sum whatweb.stdout.log whatweb.stderr.log whatweb.meta > whatweb.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l whatweb.stdout.log whatweb.stderr.log
sed -n '1,40p' whatweb.stdout.log | tee whatweb.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' whatweb.stderr.log > whatweb.issues.txt || true
sha256sum -c whatweb.SHA256SUMS | tee whatweb.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.05 wafw00fشناسایی WAF

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای شناسایی WAF استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install wafw00f

SYNTAXwafw00f [OPTIONS] URL
زیرفرمان / گزینهکاربرد امنیتی
-aهمه WAFها
-oخروجی
-pپروکسی
-vجزئیات

مثال‌های عملی کنترل‌شده

wafw00f https://TARGET -a -o waf.json

تشریح خط‌به‌خط فرمان‌ها

  1. wafw00f https://TARGET -a -o waf.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- wafw00f | tee wafw00f.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s wafw00f ARGS > wafw00f.stdout.log 2> wafw00f.stderr.log
status=$?; printf 'tool=wafw00f\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee wafw00f.meta
sha256sum wafw00f.stdout.log wafw00f.stderr.log wafw00f.meta > wafw00f.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l wafw00f.stdout.log wafw00f.stderr.log
sed -n '1,40p' wafw00f.stdout.log | tee wafw00f.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' wafw00f.stderr.log > wafw00f.issues.txt || true
sha256sum -c wafw00f.SHA256SUMS | tee wafw00f.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.06 gobusterکشف مسیر، DNS و vhost

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای کشف مسیر، DNS و vhost استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install gobuster

SYNTAXgobuster MODE [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
dirمسیر
dnsزیردامنه
vhostمیزبان مجازی
-uURL
-wواژه‌نامه
-xپسوند

مثال‌های عملی کنترل‌شده

gobuster dir -u http://TARGET -w words.txt -x php,html -o dirs.txt
gobuster dns -d example.test -w subs.txt
gobuster vhost -u http://TARGET -w subs.txt --append-domain

تشریح خط‌به‌خط فرمان‌ها

  1. gobuster dir -u http://TARGET -w words.txt -x php,html -o dirs.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. gobuster dns -d example.test -w subs.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. gobuster vhost -u http://TARGET -w subs.txt --append-domainگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- gobuster | tee gobuster.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s gobuster ARGS > gobuster.stdout.log 2> gobuster.stderr.log
status=$?; printf 'tool=gobuster\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee gobuster.meta
sha256sum gobuster.stdout.log gobuster.stderr.log gobuster.meta > gobuster.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l gobuster.stdout.log gobuster.stderr.log
sed -n '1,40p' gobuster.stdout.log | tee gobuster.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' gobuster.stderr.log > gobuster.issues.txt || true
sha256sum -c gobuster.SHA256SUMS | tee gobuster.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.07 ffuffuzzing سریع نقاط ورودی

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای fuzzing سریع نقاط ورودی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install ffuf

SYNTAXffuf [OPTIONS] -u URL/FUZZ
زیرفرمان / گزینهکاربرد امنیتی
-uURL
-wواژه‌نامه
-rateنرخ
-mcکد
-fcحذف کد
-fsحذف اندازه
-ofقالب

مثال‌های عملی کنترل‌شده

ffuf -u http://TARGET/FUZZ -w words.txt -rate 20 -of json -o ffuf.json
ffuf -u http://TARGET/ -H 'Host: FUZZ.example.test' -w subs.txt -fs 1234

تشریح خط‌به‌خط فرمان‌ها

  1. ffuf -u http://TARGET/FUZZ -w words.txt -rate 20 -of json -o ffuf.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. ffuf -u http://TARGET/ -H 'Host: FUZZ.example.test' -w subs.txt -fs 1234گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- ffuf | tee ffuf.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s ffuf ARGS > ffuf.stdout.log 2> ffuf.stderr.log
status=$?; printf 'tool=ffuf\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee ffuf.meta
sha256sum ffuf.stdout.log ffuf.stderr.log ffuf.meta > ffuf.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l ffuf.stdout.log ffuf.stderr.log
sed -n '1,40p' ffuf.stdout.log | tee ffuf.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' ffuf.stderr.log > ffuf.issues.txt || true
sha256sum -c ffuf.SHA256SUMS | tee ffuf.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.08 feroxbusterکشف بازگشتی محتوا

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای کشف بازگشتی محتوا استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install feroxbuster

SYNTAXferoxbuster [OPTIONS] -u URL
زیرفرمان / گزینهکاربرد امنیتی
-uURL
-wواژه‌نامه
-xپسوند
-dعمق
-tthread
--rate-limitنرخ

مثال‌های عملی کنترل‌شده

feroxbuster -u http://TARGET -w words.txt -x php,txt -d 2 -o ferox.txt

تشریح خط‌به‌خط فرمان‌ها

  1. feroxbuster -u http://TARGET -w words.txt -x php,txt -d 2 -o ferox.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- feroxbuster | tee feroxbuster.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s feroxbuster ARGS > feroxbuster.stdout.log 2> feroxbuster.stderr.log
status=$?; printf 'tool=feroxbuster\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee feroxbuster.meta
sha256sum feroxbuster.stdout.log feroxbuster.stderr.log feroxbuster.meta > feroxbuster.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l feroxbuster.stdout.log feroxbuster.stderr.log
sed -n '1,40p' feroxbuster.stdout.log | tee feroxbuster.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' feroxbuster.stderr.log > feroxbuster.issues.txt || true
sha256sum -c feroxbuster.SHA256SUMS | tee feroxbuster.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.09 dirsearchکشف مسیر با افزونه‌ها

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای کشف مسیر با افزونه‌ها استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install dirsearch

SYNTAXdirsearch [OPTIONS] -u URL
زیرفرمان / گزینهکاربرد امنیتی
-uURL
-eپسوند
-wواژه‌نامه
-tthread
--formatقالب
-oخروجی

مثال‌های عملی کنترل‌شده

dirsearch -u http://TARGET -e php,html -w words.txt --format=json -o dirsearch.json

تشریح خط‌به‌خط فرمان‌ها

  1. dirsearch -u http://TARGET -e php,html -w words.txt --format=json -o dirsearch.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- dirsearch | tee dirsearch.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s dirsearch ARGS > dirsearch.stdout.log 2> dirsearch.stderr.log
status=$?; printf 'tool=dirsearch\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee dirsearch.meta
sha256sum dirsearch.stdout.log dirsearch.stderr.log dirsearch.meta > dirsearch.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l dirsearch.stdout.log dirsearch.stderr.log
sed -n '1,40p' dirsearch.stdout.log | tee dirsearch.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' dirsearch.stderr.log > dirsearch.issues.txt || true
sha256sum -c dirsearch.SHA256SUMS | tee dirsearch.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.10 niktoبررسی پیکربندی وب‌سرور

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای بررسی پیکربندی وب‌سرور استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install nikto

SYNTAXnikto -h URL [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-hمیزبان
-oخروجی
-Formatقالب
-Tuningدسته تست
-sslHTTPS

مثال‌های عملی کنترل‌شده

nikto -h http://TARGET -o nikto.html -Format html
nikto -h https://TARGET -ssl -Tuning 123

تشریح خط‌به‌خط فرمان‌ها

  1. nikto -h http://TARGET -o nikto.html -Format htmlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. nikto -h https://TARGET -ssl -Tuning 123گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- nikto | tee nikto.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s nikto ARGS > nikto.stdout.log 2> nikto.stderr.log
status=$?; printf 'tool=nikto\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee nikto.meta
sha256sum nikto.stdout.log nikto.stderr.log nikto.meta > nikto.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l nikto.stdout.log nikto.stderr.log
sed -n '1,40p' nikto.stdout.log | tee nikto.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' nikto.stderr.log > nikto.issues.txt || true
sha256sum -c nikto.SHA256SUMS | tee nikto.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.11 nucleiاسکن templateمحور کنترل‌شده

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای اسکن templateمحور کنترل‌شده استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install nuclei

SYNTAXnuclei [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-u/-lهدف
-severityشدت
-tagsدسته
-rlنرخ
-jsonlخروجی

مثال‌های عملی کنترل‌شده

nuclei -u https://TARGET -severity low,medium,high -rl 10 -jsonl -o nuclei.jsonl
nuclei -l urls.txt -tags misconfig,exposure -rl 10

تشریح خط‌به‌خط فرمان‌ها

  1. nuclei -u https://TARGET -severity low,medium,high -rl 10 -jsonl -o nuclei.jsonlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. nuclei -l urls.txt -tags misconfig,exposure -rl 10گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- nuclei | tee nuclei.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s nuclei ARGS > nuclei.stdout.log 2> nuclei.stderr.log
status=$?; printf 'tool=nuclei\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee nuclei.meta
sha256sum nuclei.stdout.log nuclei.stderr.log nuclei.meta > nuclei.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l nuclei.stdout.log nuclei.stderr.log
sed -n '1,40p' nuclei.stdout.log | tee nuclei.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' nuclei.stderr.log > nuclei.issues.txt || true
sha256sum -c nuclei.SHA256SUMS | tee nuclei.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.12 wpscanارزیابی WordPress

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای ارزیابی WordPress استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install wpscan

SYNTAXwpscan --url URL [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
--urlهدف
--enumerateموارد
--plugins-detectionروش
--api-tokenتوکن
-oخروجی

مثال‌های عملی کنترل‌شده

wpscan --url http://TARGET/wp --enumerate ap,at,u --format json -o wpscan.json
wpscan --url http://TARGET/wp --plugins-detection passive

تشریح خط‌به‌خط فرمان‌ها

  1. wpscan --url http://TARGET/wp --enumerate ap,at,u --format json -o wpscan.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. wpscan --url http://TARGET/wp --plugins-detection passiveگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- wpscan | tee wpscan.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s wpscan ARGS > wpscan.stdout.log 2> wpscan.stderr.log
status=$?; printf 'tool=wpscan\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee wpscan.meta
sha256sum wpscan.stdout.log wpscan.stderr.log wpscan.meta > wpscan.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l wpscan.stdout.log wpscan.stderr.log
sed -n '1,40p' wpscan.stdout.log | tee wpscan.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' wpscan.stderr.log > wpscan.issues.txt || true
sha256sum -c wpscan.SHA256SUMS | tee wpscan.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.13 burpsuiteپروکسی و بازپخش درخواست وب

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای پروکسی و بازپخش درخواست وب استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install burpsuite

SYNTAXburpsuite
زیرفرمان / گزینهکاربرد امنیتی
Proxyثبت
Repeaterبازپخش
Intruderآزمون ورودی
Decoderکدگذاری
Comparerمقایسه

مثال‌های عملی کنترل‌شده

burpsuite
# پروکسی مرورگر آزمایش: 127.0.0.1:8080
# Proxy → HTTP history → Repeater → ثبت درخواست/پاسخ

تشریح خط‌به‌خط فرمان‌ها

  1. burpsuiteفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- burpsuite | tee burpsuite.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s burpsuite ARGS > burpsuite.stdout.log 2> burpsuite.stderr.log
status=$?; printf 'tool=burpsuite\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee burpsuite.meta
sha256sum burpsuite.stdout.log burpsuite.stderr.log burpsuite.meta > burpsuite.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l burpsuite.stdout.log burpsuite.stderr.log
sed -n '1,40p' burpsuite.stdout.log | tee burpsuite.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' burpsuite.stderr.log > burpsuite.issues.txt || true
sha256sum -c burpsuite.SHA256SUMS | tee burpsuite.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.14جدید در دوره mitmproxyپروکسی تعاملی HTTP(S) آزمایشگاه

چرا اضافه شد؟ برای مشاهده و بازپخش کنترل‌شده request و response

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای پروکسی تعاملی HTTP(S) آزمایشگاه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install mitmproxy

SYNTAXmitmproxy [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
mitmproxyTUI
mitmwebرابط وب
mitmdumpCLI
-wذخیره flow
-rخواندن
-sاسکریپت
--setگزینه

مثال‌های عملی کنترل‌شده

mitmproxy --listen-host 127.0.0.1 --listen-port 8080
mitmdump -w flows.mitm
mitmdump -r flows.mitm -n
mitmweb --web-host 127.0.0.1

تشریح خط‌به‌خط فرمان‌ها

  1. mitmproxy --listen-host 127.0.0.1 --listen-port 8080گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. mitmdump -w flows.mitmگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. mitmdump -r flows.mitm -nگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. mitmweb --web-host 127.0.0.1گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- mitmproxy | tee mitmproxy.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s mitmproxy ARGS > mitmproxy.stdout.log 2> mitmproxy.stderr.log
status=$?; printf 'tool=mitmproxy\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee mitmproxy.meta
sha256sum mitmproxy.stdout.log mitmproxy.stderr.log mitmproxy.meta > mitmproxy.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l mitmproxy.stdout.log mitmproxy.stderr.log
sed -n '1,40p' mitmproxy.stdout.log | tee mitmproxy.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' mitmproxy.stderr.log > mitmproxy.issues.txt || true
sha256sum -c mitmproxy.SHA256SUMS | tee mitmproxy.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.15جدید در دوره arjunکشف پارامتر HTTP

چرا اضافه شد؟ برای کشف پارامترهای ورودی با نرخ محدود

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای کشف پارامتر HTTP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install arjun

SYNTAXarjun [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-uURL
-iفهرست
-mروش
-tthread
-oJJSON
--headersهدر
--stableپایداری

مثال‌های عملی کنترل‌شده

arjun -u 'https://TARGET/api/search' -m GET -oJ arjun.json
arjun -i urls.txt -m GET,POST -t 5 --stable
arjun -u URL --headers 'Authorization: Bearer TOKEN'

تشریح خط‌به‌خط فرمان‌ها

  1. arjun -u 'https://TARGET/api/search' -m GET -oJ arjun.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. arjun -i urls.txt -m GET,POST -t 5 --stableگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. arjun -u URL --headers 'Authorization: Bearer TOKEN'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- arjun | tee arjun.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s arjun ARGS > arjun.stdout.log 2> arjun.stderr.log
status=$?; printf 'tool=arjun\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee arjun.meta
sha256sum arjun.stdout.log arjun.stderr.log arjun.meta > arjun.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l arjun.stdout.log arjun.stderr.log
sed -n '1,40p' arjun.stdout.log | tee arjun.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' arjun.stderr.log > arjun.issues.txt || true
sha256sum -c arjun.SHA256SUMS | tee arjun.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

04.16جدید در دوره paramspiderگردآوری URLهای پارامتردار عمومی

چرا اضافه شد؟ برای گردآوری URLهای پارامتردار از منابع عمومی

نقش امنیتی: از این ابزار در مسیر «ارزیابی امنیت برنامه وب» برای گردآوری URLهای پارامتردار عمومی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install paramspider

SYNTAXparamspider [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-dدامنه
-lفهرست
-oخروجی
--excludeپسوند
--placeholderجای‌گذار

مثال‌های عملی کنترل‌شده

paramspider -d example.com -o params.txt
paramspider -l domains.txt --exclude woff,css,png
sort -u results/example.com.txt > unique-params.txt

تشریح خط‌به‌خط فرمان‌ها

  1. paramspider -d example.com -o params.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. paramspider -l domains.txt --exclude woff,css,pngگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. sort -u results/example.com.txt > unique-params.txtخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- paramspider | tee paramspider.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s paramspider ARGS > paramspider.stdout.log 2> paramspider.stderr.log
status=$?; printf 'tool=paramspider\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee paramspider.meta
sha256sum paramspider.stdout.log paramspider.stderr.log paramspider.meta > paramspider.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l paramspider.stdout.log paramspider.stderr.log
sed -n '1,40p' paramspider.stdout.log | tee paramspider.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' paramspider.stderr.log > paramspider.issues.txt || true
sha256sum -c paramspider.SHA256SUMS | tee paramspider.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

🧩

فصل امنیت 5: امنیت API، JWT، gRPC و WebSocket

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ قرارداد API، احراز هویت، سطح دسترسی، schema و rate limit را با حساب‌های آزمایشی و داده غیرواقعی بررسی کنید. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. ثبت baseline و schema پاسخ
  2. آزمون احراز و سطح دسترسی با هویت آزمایشی
  3. بررسی JSON، JWT و route بدون داده واقعی

📦 خروجی‌های مورد انتظار

health.jsonheaders.txtschema-keys.txtapi.SHA256SUMS

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 5/10
API=https://TARGET/api
http --check-status --print=Hhb GET "$API/health" | tee health.http
curl --silent --show-error --dump-header headers.txt "$API/items" | tee items.json | jq .
jq -r 'paths | map(tostring) | join(".")' items.json | sort -u > schema-paths.txt
newman run collection.json -e lab.environment.json -r cli,json --reporter-json-export newman.json
grpcurl -plaintext TARGET:50051 list | tee grpc-services.txt
printf '{"type":"ping"}\n' | websocat -n ws://TARGET/socket | tee websocket.txt
sha256sum health.http items.json newman.json grpc-services.txt websocket.txt > api.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
API=https://TARGET/api
http --check-status --print=HhBb GET "$API/items" Accept:application/json > items.http
sed -n '/^{/,$p' items.http > items.json
jq -e 'type == "object" or type == "array"' items.json
jq -S . items.json > items.normalized.json
yq -p=json -o=yaml items.normalized.json > items.yaml
xmllint --noout --schema response.xsd response.xml 2>xml-validation.err || true
newman run collection.json -e lab.environment.json --bail --delay-request 250 -r cli,junit --reporter-junit-export api-junit.xml
sha256sum items.* xml-validation.err api-junit.xml > api-advanced.SHA256SUMS

خطاهای رایج

  • استفاده از token واقعی در history یا فایل collection
  • آزمون فقط happy path و نادیده‌گرفتن authorization
  • اعتماد به schema بدون بررسی semantic داده

کنترل دفاعی و معیار قبولی

برای هر endpoint ماتریس method، role، status، schema و rate limit بسازید.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

05.01 httpieکلاینت خوانای HTTP و API

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای کلاینت خوانای HTTP و API استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install httpie

SYNTAXhttp [METHOD] URL [ITEMS]
زیرفرمان / گزینهکاربرد امنیتی
METHODGET/POST/...
Header:Valueهدر
fieldvalue=رشته
field:json
--sessionنشست
--downloadدریافت
--printاجزای خروجی

مثال‌های عملی کنترل‌شده

http GET https://TARGET/api/health
http --verify=no POST https://TARGET/api/items name=lab enabled:=true
http --session=lab.json GET https://TARGET/api/profile Authorization:'Bearer TOKEN'

تشریح خط‌به‌خط فرمان‌ها

  1. http GET https://TARGET/api/healthفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. http --verify=no POST https://TARGET/api/items name=lab enabled:=trueگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. http --session=lab.json GET https://TARGET/api/profile Authorization:'Bearer TOKEN'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- httpie | tee httpie.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s httpie ARGS > httpie.stdout.log 2> httpie.stderr.log
status=$?; printf 'tool=httpie\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee httpie.meta
sha256sum httpie.stdout.log httpie.stderr.log httpie.meta > httpie.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l httpie.stdout.log httpie.stderr.log
sed -n '1,40p' httpie.stdout.log | tee httpie.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' httpie.stderr.log > httpie.issues.txt || true
sha256sum -c httpie.SHA256SUMS | tee httpie.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.02 mitmproxyپروکسی تعاملی HTTP(S) آزمایشگاه

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای پروکسی تعاملی HTTP(S) آزمایشگاه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install mitmproxy

SYNTAXmitmproxy [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
mitmproxyTUI
mitmwebرابط وب
mitmdumpCLI
-wذخیره flow
-rخواندن
-sاسکریپت
--setگزینه

مثال‌های عملی کنترل‌شده

mitmproxy --listen-host 127.0.0.1 --listen-port 8080
mitmdump -w flows.mitm
mitmdump -r flows.mitm -n
mitmweb --web-host 127.0.0.1

تشریح خط‌به‌خط فرمان‌ها

  1. mitmproxy --listen-host 127.0.0.1 --listen-port 8080گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. mitmdump -w flows.mitmگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. mitmdump -r flows.mitm -nگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. mitmweb --web-host 127.0.0.1گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- mitmproxy | tee mitmproxy.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s mitmproxy ARGS > mitmproxy.stdout.log 2> mitmproxy.stderr.log
status=$?; printf 'tool=mitmproxy\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee mitmproxy.meta
sha256sum mitmproxy.stdout.log mitmproxy.stderr.log mitmproxy.meta > mitmproxy.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l mitmproxy.stdout.log mitmproxy.stderr.log
sed -n '1,40p' mitmproxy.stdout.log | tee mitmproxy.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' mitmproxy.stderr.log > mitmproxy.issues.txt || true
sha256sum -c mitmproxy.SHA256SUMS | tee mitmproxy.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.03 grpcurlفراخوانی و introspection سرویس gRPC

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای فراخوانی و introspection سرویس gRPC استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: نصب binary رسمی grpcurl

SYNTAXgrpcurl [OPTIONS] ADDRESS [SYMBOL]
زیرفرمان / گزینهکاربرد امنیتی
listفهرست
describeتوصیف
-dJSON
-Hmetadata
-plaintextبدون TLS
-cacertCA
-protoفایل proto

مثال‌های عملی کنترل‌شده

grpcurl -plaintext TARGET:50051 list
grpcurl -plaintext TARGET:50051 describe package.Service
grpcurl -plaintext -d '{"id":1}' TARGET:50051 package.Service/Get

تشریح خط‌به‌خط فرمان‌ها

  1. grpcurl -plaintext TARGET:50051 listگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. grpcurl -plaintext TARGET:50051 describe package.Serviceگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. grpcurl -plaintext -d '{"id":1}' TARGET:50051 package.Service/Getگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- grpcurl | tee grpcurl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s grpcurl ARGS > grpcurl.stdout.log 2> grpcurl.stderr.log
status=$?; printf 'tool=grpcurl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee grpcurl.meta
sha256sum grpcurl.stdout.log grpcurl.stderr.log grpcurl.meta > grpcurl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l grpcurl.stdout.log grpcurl.stderr.log
sed -n '1,40p' grpcurl.stdout.log | tee grpcurl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' grpcurl.stderr.log > grpcurl.issues.txt || true
sha256sum -c grpcurl.SHA256SUMS | tee grpcurl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.04 websocatکلاینت و پل WebSocket

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای کلاینت و پل WebSocket استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install websocat

SYNTAXwebsocat [OPTIONS] WS_URL
زیرفرمان / گزینهکاربرد امنیتی
-nخروج پس از EOF
-vجزئیات
--texttext frame
-Hهدر
-Eخروج با close
ws-l:شنونده

مثال‌های عملی کنترل‌شده

websocat ws://TARGET/socket
printf '{"type":"ping"}\n' | websocat -n ws://TARGET/socket
websocat -v --text ws://TARGET/socket 2>websocket.log

تشریح خط‌به‌خط فرمان‌ها

  1. websocat ws://TARGET/socketفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. printf '{"type":"ping"}\n' | websocat -n ws://TARGET/socketخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. websocat -v --text ws://TARGET/socket 2>websocket.logخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ جریان خطا را نیز ثبت یا ادغام می‌کند؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- websocat | tee websocat.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s websocat ARGS > websocat.stdout.log 2> websocat.stderr.log
status=$?; printf 'tool=websocat\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee websocat.meta
sha256sum websocat.stdout.log websocat.stderr.log websocat.meta > websocat.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l websocat.stdout.log websocat.stderr.log
sed -n '1,40p' websocat.stdout.log | tee websocat.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' websocat.stderr.log > websocat.issues.txt || true
sha256sum -c websocat.SHA256SUMS | tee websocat.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.05 wscatکلاینت WebSocket مبتنی بر Node

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای کلاینت WebSocket مبتنی بر Node استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo npm install -g wscat

SYNTAXwscat [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-cاتصال
-llisten
-Hهدر
-ssubprotocol
-oorigin
-Pپروکسی
-wwait

مثال‌های عملی کنترل‌شده

wscat -c ws://TARGET/socket
wscat -c wss://TARGET/socket -H 'Authorization: Bearer TOKEN'
wscat -l 8080

تشریح خط‌به‌خط فرمان‌ها

  1. wscat -c ws://TARGET/socketگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. wscat -c wss://TARGET/socket -H 'Authorization: Bearer TOKEN'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. wscat -l 8080گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- wscat | tee wscat.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s wscat ARGS > wscat.stdout.log 2> wscat.stderr.log
status=$?; printf 'tool=wscat\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee wscat.meta
sha256sum wscat.stdout.log wscat.stderr.log wscat.meta > wscat.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l wscat.stdout.log wscat.stderr.log
sed -n '1,40p' wscat.stdout.log | tee wscat.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' wscat.stderr.log > wscat.issues.txt || true
sha256sum -c wscat.SHA256SUMS | tee wscat.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.06 newmanاجرای collectionهای Postman

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای اجرای collectionهای Postman استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo npm install -g newman

SYNTAXnewman run COLLECTION [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
runاجرا
-eenvironment
-ddata
--iteration-countتکرار
--delay-requestفاصله
-rreporter

مثال‌های عملی کنترل‌شده

newman run collection.json -e lab.environment.json
newman run collection.json --iteration-count 2 --delay-request 250
newman run collection.json -r cli,json --reporter-json-export newman.json

تشریح خط‌به‌خط فرمان‌ها

  1. newman run collection.json -e lab.environment.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. newman run collection.json --iteration-count 2 --delay-request 250گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. newman run collection.json -r cli,json --reporter-json-export newman.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- newman | tee newman.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s newman ARGS > newman.stdout.log 2> newman.stderr.log
status=$?; printf 'tool=newman\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee newman.meta
sha256sum newman.stdout.log newman.stderr.log newman.meta > newman.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l newman.stdout.log newman.stderr.log
sed -n '1,40p' newman.stdout.log | tee newman.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' newman.stderr.log > newman.issues.txt || true
sha256sum -c newman.SHA256SUMS | tee newman.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.07 jwt-toolبررسی ساختار و تنظیمات JWT

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای بررسی ساختار و تنظیمات JWT استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: git clone https://github.com/ticarpi/jwt_tool

SYNTAXpython3 jwt_tool.py TOKEN [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-tURL
-rhهدر
-Mحالت اسکن
-Iدستکاری claim
-pcنام claim
-pvمقدار
--dump-configپیکربندی

مثال‌های عملی کنترل‌شده

python3 jwt_tool.py TOKEN
python3 jwt_tool.py TOKEN -t https://TARGET/api/profile -rh 'Authorization: Bearer TOKEN' -M pb
python3 jwt_tool.py TOKEN -I -pc role -pv viewer

تشریح خط‌به‌خط فرمان‌ها

  1. python3 jwt_tool.py TOKENفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. python3 jwt_tool.py TOKEN -t https://TARGET/api/profile -rh 'Authorization: Bearer TOKEN' -M pbگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. python3 jwt_tool.py TOKEN -I -pc role -pv viewerگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- jwt-tool | tee jwt-tool.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s jwt-tool ARGS > jwt-tool.stdout.log 2> jwt-tool.stderr.log
status=$?; printf 'tool=jwt-tool\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee jwt-tool.meta
sha256sum jwt-tool.stdout.log jwt-tool.stderr.log jwt-tool.meta > jwt-tool.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l jwt-tool.stdout.log jwt-tool.stderr.log
sed -n '1,40p' jwt-tool.stdout.log | tee jwt-tool.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' jwt-tool.stderr.log > jwt-tool.issues.txt || true
sha256sum -c jwt-tool.SHA256SUMS | tee jwt-tool.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.08 arjunکشف پارامتر HTTP

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای کشف پارامتر HTTP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install arjun

SYNTAXarjun [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-uURL
-iفهرست
-mروش
-tthread
-oJJSON
--headersهدر
--stableپایداری

مثال‌های عملی کنترل‌شده

arjun -u 'https://TARGET/api/search' -m GET -oJ arjun.json
arjun -i urls.txt -m GET,POST -t 5 --stable
arjun -u URL --headers 'Authorization: Bearer TOKEN'

تشریح خط‌به‌خط فرمان‌ها

  1. arjun -u 'https://TARGET/api/search' -m GET -oJ arjun.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. arjun -i urls.txt -m GET,POST -t 5 --stableگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. arjun -u URL --headers 'Authorization: Bearer TOKEN'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- arjun | tee arjun.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s arjun ARGS > arjun.stdout.log 2> arjun.stderr.log
status=$?; printf 'tool=arjun\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee arjun.meta
sha256sum arjun.stdout.log arjun.stderr.log arjun.meta > arjun.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l arjun.stdout.log arjun.stderr.log
sed -n '1,40p' arjun.stdout.log | tee arjun.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' arjun.stderr.log > arjun.issues.txt || true
sha256sum -c arjun.SHA256SUMS | tee arjun.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.09 paramspiderگردآوری URLهای پارامتردار عمومی

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای گردآوری URLهای پارامتردار عمومی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install paramspider

SYNTAXparamspider [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-dدامنه
-lفهرست
-oخروجی
--excludeپسوند
--placeholderجای‌گذار

مثال‌های عملی کنترل‌شده

paramspider -d example.com -o params.txt
paramspider -l domains.txt --exclude woff,css,png
sort -u results/example.com.txt > unique-params.txt

تشریح خط‌به‌خط فرمان‌ها

  1. paramspider -d example.com -o params.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. paramspider -l domains.txt --exclude woff,css,pngگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. sort -u results/example.com.txt > unique-params.txtخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- paramspider | tee paramspider.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s paramspider ARGS > paramspider.stdout.log 2> paramspider.stderr.log
status=$?; printf 'tool=paramspider\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee paramspider.meta
sha256sum paramspider.stdout.log paramspider.stderr.log paramspider.meta > paramspider.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l paramspider.stdout.log paramspider.stderr.log
sed -n '1,40p' paramspider.stdout.log | tee paramspider.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' paramspider.stderr.log > paramspider.issues.txt || true
sha256sum -c paramspider.SHA256SUMS | tee paramspider.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.10 kiterunnerکشف routeهای API در محیط مجاز

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای کشف routeهای API در محیط مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: نصب release رسمی Kiterunner

SYNTAXkr scan TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
scanwordlist kite
bruteواژه‌نامه متن
wordlist listفهرست
-wwordlist
-xاتصال
-jtarget هم‌زمان
-oقالب

مثال‌های عملی کنترل‌شده

kr wordlist list
kr scan https://TARGET -w routes.kite -x 5 -j 2 -o json -f kr.json
kr brute https://TARGET -w routes.txt -x 5

تشریح خط‌به‌خط فرمان‌ها

  1. kr wordlist listفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. kr scan https://TARGET -w routes.kite -x 5 -j 2 -o json -f kr.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. kr brute https://TARGET -w routes.txt -x 5گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- kiterunner | tee kiterunner.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s kiterunner ARGS > kiterunner.stdout.log 2> kiterunner.stderr.log
status=$?; printf 'tool=kiterunner\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee kiterunner.meta
sha256sum kiterunner.stdout.log kiterunner.stderr.log kiterunner.meta > kiterunner.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l kiterunner.stdout.log kiterunner.stderr.log
sed -n '1,40p' kiterunner.stdout.log | tee kiterunner.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' kiterunner.stderr.log > kiterunner.issues.txt || true
sha256sum -c kiterunner.SHA256SUMS | tee kiterunner.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.11 yqپردازش YAML/XML/TOML

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای پردازش YAML/XML/TOML استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install yq

SYNTAXyq [OPTIONS] EXPRESSION [FILE]
زیرفرمان / گزینهکاربرد امنیتی
-oقالب خروجی
-pقالب ورودی
-iویرایش درجا
eval-allچند فایل
-nورودی null

مثال‌های عملی کنترل‌شده

yq '.services | keys' compose.yaml
yq -o=json '.' config.yaml > config.json
yq -i '.scanner.rate = 10' config.yaml
yq eval-all '. as $item ireduce ({}; . * $item)' base.yml override.yml

تشریح خط‌به‌خط فرمان‌ها

  1. yq '.services | keys' compose.yamlخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید.
  2. yq -o=json '.' config.yaml > config.jsonخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. yq -i '.scanner.rate = 10' config.yamlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. yq eval-all '. as $item ireduce ({}; . * $item)' base.yml override.ymlفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- yq | tee yq.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s yq ARGS > yq.stdout.log 2> yq.stderr.log
status=$?; printf 'tool=yq\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee yq.meta
sha256sum yq.stdout.log yq.stderr.log yq.meta > yq.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l yq.stdout.log yq.stderr.log
sed -n '1,40p' yq.stdout.log | tee yq.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' yq.stderr.log > yq.issues.txt || true
sha256sum -c yq.SHA256SUMS | tee yq.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.12 xmllintاعتبارسنجی و query روی XML

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای اعتبارسنجی و query روی XML استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install libxml2-utils

SYNTAXxmllint [OPTIONS] FILE
زیرفرمان / گزینهکاربرد امنیتی
--formatمرتب
--xpathXPath
--schemaXSD
--nooutبدون خروجی
--recoverبازیابی
--nonetبدون شبکه

مثال‌های عملی کنترل‌شده

xmllint --noout --format response.xml
xmllint --xpath 'string(//token)' response.xml
xmllint --schema api.xsd response.xml --noout
xmllint --recover broken.xml > recovered.xml

تشریح خط‌به‌خط فرمان‌ها

  1. xmllint --noout --format response.xmlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. xmllint --xpath 'string(//token)' response.xmlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. xmllint --schema api.xsd response.xml --nooutگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. xmllint --recover broken.xml > recovered.xmlخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- xmllint | tee xmllint.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s xmllint ARGS > xmllint.stdout.log 2> xmllint.stderr.log
status=$?; printf 'tool=xmllint\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee xmllint.meta
sha256sum xmllint.stdout.log xmllint.stderr.log xmllint.meta > xmllint.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l xmllint.stdout.log xmllint.stderr.log
sed -n '1,40p' xmllint.stdout.log | tee xmllint.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' xmllint.stderr.log > xmllint.issues.txt || true
sha256sum -c xmllint.SHA256SUMS | tee xmllint.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.13 soapuiآزمون SOAP و REST

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای آزمون SOAP و REST استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install soapui

SYNTAXsoapui | testrunner.sh [OPTIONS] PROJECT
زیرفرمان / گزینهکاربرد امنیتی
-ssuite
-ccase
-rگزارش
-jJUnit
-fخروجی
-Pproperty
-Eenvironment

مثال‌های عملی کنترل‌شده

soapui
testrunner.sh -s 'Lab Suite' -c 'Health Check' -r -j -f soapui-out project.xml
testrunner.sh -PbaseUrl=https://TARGET project.xml

تشریح خط‌به‌خط فرمان‌ها

  1. soapuiفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. testrunner.sh -s 'Lab Suite' -c 'Health Check' -r -j -f soapui-out project.xmlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. testrunner.sh -PbaseUrl=https://TARGET project.xmlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- soapui | tee soapui.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s soapui ARGS > soapui.stdout.log 2> soapui.stderr.log
status=$?; printf 'tool=soapui\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee soapui.meta
sha256sum soapui.stdout.log soapui.stderr.log soapui.meta > soapui.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l soapui.stdout.log soapui.stderr.log
sed -n '1,40p' soapui.stdout.log | tee soapui.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' soapui.stderr.log > soapui.issues.txt || true
sha256sum -c soapui.SHA256SUMS | tee soapui.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.14جدید در دوره curlساخت و ثبت درخواست HTTP

چرا اضافه شد؟ برای ساخت درخواست دقیق، ثبت header و کنترل TLS

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای ساخت و ثبت درخواست HTTP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXcurl [OPTIONS] URL
زیرفرمان / گزینهکاربرد امنیتی
-iهدر پاسخ
-sSساکت با خطا
-kلابراتوار TLS
-Dذخیره هدر
-oخروجی
-xپروکسی

مثال‌های عملی کنترل‌شده

curl -isk https://TARGET/
curl -sS -D headers.txt -o body.html https://TARGET/
curl -x http://127.0.0.1:8080 http://TARGET/

تشریح خط‌به‌خط فرمان‌ها

  1. curl -isk https://TARGET/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. curl -sS -D headers.txt -o body.html https://TARGET/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. curl -x http://127.0.0.1:8080 http://TARGET/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- curl | tee curl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s curl ARGS > curl.stdout.log 2> curl.stderr.log
status=$?; printf 'tool=curl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee curl.meta
sha256sum curl.stdout.log curl.stderr.log curl.meta > curl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l curl.stdout.log curl.stderr.log
sed -n '1,40p' curl.stdout.log | tee curl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' curl.stderr.log > curl.issues.txt || true
sha256sum -c curl.SHA256SUMS | tee curl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.15جدید در دوره jqپردازش JSON

چرا اضافه شد؟ برای نرمال‌سازی، query و اعتبارسنجی خروجی JSON

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای پردازش JSON استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install jq

SYNTAXjq [OPTIONS] FILTER [FILE]
زیرفرمان / گزینهکاربرد امنیتی
-rمتن خام
-sslurp
-cفشرده
--argمتغیر

مثال‌های عملی کنترل‌شده

jq '.[] | .name' results.json
curl -s URL | jq -r '.[].id'

تشریح خط‌به‌خط فرمان‌ها

  1. jq '.[] | .name' results.jsonخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید.
  2. curl -s URL | jq -r '.[].id'خروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- jq | tee jq.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s jq ARGS > jq.stdout.log 2> jq.stderr.log
status=$?; printf 'tool=jq\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee jq.meta
sha256sum jq.stdout.log jq.stderr.log jq.meta > jq.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l jq.stdout.log jq.stderr.log
sed -n '1,40p' jq.stdout.log | tee jq.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' jq.stderr.log > jq.issues.txt || true
sha256sum -c jq.SHA256SUMS | tee jq.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

05.16جدید در دوره nucleiاسکن templateمحور کنترل‌شده

چرا اضافه شد؟ برای اجرای templateهای API با rate limit و خروجی JSONL

نقش امنیتی: از این ابزار در مسیر «امنیت API، JWT، gRPC و WebSocket» برای اسکن templateمحور کنترل‌شده استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install nuclei

SYNTAXnuclei [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-u/-lهدف
-severityشدت
-tagsدسته
-rlنرخ
-jsonlخروجی

مثال‌های عملی کنترل‌شده

nuclei -u https://TARGET -severity low,medium,high -rl 10 -jsonl -o nuclei.jsonl
nuclei -l urls.txt -tags misconfig,exposure -rl 10

تشریح خط‌به‌خط فرمان‌ها

  1. nuclei -u https://TARGET -severity low,medium,high -rl 10 -jsonl -o nuclei.jsonlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. nuclei -l urls.txt -tags misconfig,exposure -rl 10گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- nuclei | tee nuclei.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s nuclei ARGS > nuclei.stdout.log 2> nuclei.stderr.log
status=$?; printf 'tool=nuclei\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee nuclei.meta
sha256sum nuclei.stdout.log nuclei.stderr.log nuclei.meta > nuclei.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l nuclei.stdout.log nuclei.stderr.log
sed -n '1,40p' nuclei.stdout.log | tee nuclei.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' nuclei.stderr.log > nuclei.issues.txt || true
sha256sum -c nuclei.SHA256SUMS | tee nuclei.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

🧨

فصل امنیت 6: اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ فقط در لابراتوار یا مجوز صریح؛ ابتدا نسخه و پیکربندی را اثبات، سپس کم‌خطرترین روش اعتبارسنجی را انتخاب کنید. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. تطبیق نسخه با advisory معتبر
  2. تفکیک سرنخ scanner از اثبات
  3. اجرای validation حداقلی و بازگشت‌پذیر

📦 خروجی‌های مورد انتظار

versions.txtcandidates.txtvalidation.logfinding.md

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 6/10
searchsploit --nmap services.xml | tee candidates.txt
searchsploit --json 'PRODUCT VERSION' > searchsploit.json
nuclei -l authorized-urls.txt -severity medium,high -rate-limit 3 -jsonl -o candidates.jsonl
msfconsole -q -x 'search type:auxiliary name:scanner; exit' | tee module-search.txt
printf '# Finding\n\nStatus: unconfirmed\nEvidence:\nRemediation:\n' > finding.md
sha256sum candidates.txt searchsploit.json candidates.jsonl module-search.txt finding.md > validation.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
searchsploit --json 'PRODUCT VERSION' | tee advisory-candidates.json
jq -r '.RESULTS_EXPLOIT[]? | [.Title,.EDB_ID,.Date] | @tsv' advisory-candidates.json > advisory-candidates.tsv
nuclei -l authorized-urls.txt -severity medium,high,critical -rate-limit 2 -bulk-size 1 -jsonl -o scanner-candidates.jsonl
jq -r '[.templateID,.host,.matched_at,.severity] | @tsv' scanner-candidates.jsonl | sort -u > candidate-index.tsv
printf 'candidate\tversion-proof\tmanual-check\timpact\tstatus\n' > validation-matrix.tsv
while IFS=$'\t' read -r id host match sev; do printf '%s\t%s\t%s\t%s\tunconfirmed\n' "$id" "TODO" "$match" "$sev"; done < candidate-index.tsv >> validation-matrix.tsv
sha256sum advisory-candidates.* scanner-candidates.jsonl validation-matrix.tsv > vuln-advanced.SHA256SUMS

خطاهای رایج

  • یکی دانستن نسخه مشابه با نسخه آسیب‌پذیر
  • اجرای exploit قبل از snapshot و rollback plan
  • گزارش CVSS بدون تحلیل اثر در محیط واقعی

کنترل دفاعی و معیار قبولی

هر candidate باید version proof، بررسی دستی، اثر و وضعیت تأیید مستقل داشته باشد.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

06.01 searchsploitجست‌وجوی محلی Exploit-DB

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای جست‌وجوی محلی Exploit-DB استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install exploitdb

SYNTAXsearchsploit [OPTIONS] TERM
زیرفرمان / گزینهکاربرد امنیتی
--nmapورودی nmap
-xمشاهده
-mکپی
-wURL
-uبه‌روزرسانی

مثال‌های عملی کنترل‌شده

searchsploit 'Apache 2.4.49'
searchsploit --nmap scan.xml
searchsploit -x 50383
searchsploit -m 50383

تشریح خط‌به‌خط فرمان‌ها

  1. searchsploit 'Apache 2.4.49'فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. searchsploit --nmap scan.xmlگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. searchsploit -x 50383گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. searchsploit -m 50383گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- searchsploit | tee searchsploit.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s searchsploit ARGS > searchsploit.stdout.log 2> searchsploit.stderr.log
status=$?; printf 'tool=searchsploit\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee searchsploit.meta
sha256sum searchsploit.stdout.log searchsploit.stderr.log searchsploit.meta > searchsploit.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l searchsploit.stdout.log searchsploit.stderr.log
sed -n '1,40p' searchsploit.stdout.log | tee searchsploit.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' searchsploit.stderr.log > searchsploit.issues.txt || true
sha256sum -c searchsploit.SHA256SUMS | tee searchsploit.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.02 msfconsoleکنسول Metasploit در لابراتوار

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای کنسول Metasploit در لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install metasploit-framework

SYNTAXmsfconsole [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
workspaceپروژه
db_importورودی
searchجست‌وجو
useانتخاب
infoجزئیات
show optionsگزینه‌ها
checkبررسی

مثال‌های عملی کنترل‌شده

sudo msfdb init
msfconsole -q
workspace -a lab
db_import scan.xml
search type:auxiliary name:http
info MODULE
use MODULE
show options
set RHOSTS TARGET
check

تشریح خط‌به‌خط فرمان‌ها

  1. sudo msfdb initبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  2. msfconsole -qگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. workspace -a labگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. db_import scan.xmlفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  5. search type:auxiliary name:httpفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- msfconsole | tee msfconsole.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s msfconsole ARGS > msfconsole.stdout.log 2> msfconsole.stderr.log
status=$?; printf 'tool=msfconsole\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee msfconsole.meta
sha256sum msfconsole.stdout.log msfconsole.stderr.log msfconsole.meta > msfconsole.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l msfconsole.stdout.log msfconsole.stderr.log
sed -n '1,40p' msfconsole.stdout.log | tee msfconsole.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' msfconsole.stderr.log > msfconsole.issues.txt || true
sha256sum -c msfconsole.SHA256SUMS | tee msfconsole.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.03 msfdbمدیریت پایگاه داده Metasploit

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای مدیریت پایگاه داده Metasploit استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install metasploit-framework

SYNTAXmsfdb SUBCOMMAND
زیرفرمان / گزینهکاربرد امنیتی
initساخت
statusوضعیت
start/stopسرویس
reinitبازسازی

مثال‌های عملی کنترل‌شده

sudo msfdb init
msfdb status
msfdb reinit

تشریح خط‌به‌خط فرمان‌ها

  1. sudo msfdb initبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  2. msfdb statusفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. msfdb reinitفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- msfdb | tee msfdb.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s msfdb ARGS > msfdb.stdout.log 2> msfdb.stderr.log
status=$?; printf 'tool=msfdb\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee msfdb.meta
sha256sum msfdb.stdout.log msfdb.stderr.log msfdb.meta > msfdb.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l msfdb.stdout.log msfdb.stderr.log
sed -n '1,40p' msfdb.stdout.log | tee msfdb.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' msfdb.stderr.log > msfdb.issues.txt || true
sha256sum -c msfdb.SHA256SUMS | tee msfdb.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.04 msfvenomساخت payload فقط برای لابراتوار ایزوله

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای ساخت payload فقط برای لابراتوار ایزوله استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install metasploit-framework

SYNTAXmsfvenom [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-lفهرست
-ppayload
-fقالب
-oخروجی
-eencoder
--platformپلتفرم

مثال‌های عملی کنترل‌شده

msfvenom -l payloads | less
msfvenom -p generic/custom PAYLOADFILE=sample.bin -f raw -o lab-output.bin

تشریح خط‌به‌خط فرمان‌ها

  1. msfvenom -l payloads | lessخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. msfvenom -p generic/custom PAYLOADFILE=sample.bin -f raw -o lab-output.binگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- msfvenom | tee msfvenom.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s msfvenom ARGS > msfvenom.stdout.log 2> msfvenom.stderr.log
status=$?; printf 'tool=msfvenom\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee msfvenom.meta
sha256sum msfvenom.stdout.log msfvenom.stderr.log msfvenom.meta > msfvenom.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l msfvenom.stdout.log msfvenom.stderr.log
sed -n '1,40p' msfvenom.stdout.log | tee msfvenom.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' msfvenom.stderr.log > msfvenom.issues.txt || true
sha256sum -c msfvenom.SHA256SUMS | tee msfvenom.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.05 sqlmapاعتبارسنجی SQL injection مجاز

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای اعتبارسنجی SQL injection مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install sqlmap

SYNTAXsqlmap [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-uURL
-rدرخواست
-pپارامتر
--dbsپایگاه‌ها
--levelپوشش
--riskریسک
--batchغیرتعاملی

مثال‌های عملی کنترل‌شده

sqlmap -r request.txt --batch --level=1 --risk=1 --flush-session
sqlmap -u 'http://TARGET/item?id=1' -p id --batch --dbs

تشریح خط‌به‌خط فرمان‌ها

  1. sqlmap -r request.txt --batch --level=1 --risk=1 --flush-sessionگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sqlmap -u 'http://TARGET/item?id=1' -p id --batch --dbsگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- sqlmap | tee sqlmap.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s sqlmap ARGS > sqlmap.stdout.log 2> sqlmap.stderr.log
status=$?; printf 'tool=sqlmap\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee sqlmap.meta
sha256sum sqlmap.stdout.log sqlmap.stderr.log sqlmap.meta > sqlmap.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l sqlmap.stdout.log sqlmap.stderr.log
sed -n '1,40p' sqlmap.stdout.log | tee sqlmap.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' sqlmap.stderr.log > sqlmap.issues.txt || true
sha256sum -c sqlmap.SHA256SUMS | tee sqlmap.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.06 commixارزیابی command injection در لابراتوار

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای ارزیابی command injection در لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install commix

SYNTAXcommix [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
--urlهدف
-rدرخواست
--dataPOST
--cookieکوکی
--levelپوشش
--batchخودکار

مثال‌های عملی کنترل‌شده

commix --url='http://TARGET/page?name=test' --batch --level=1
commix -r request.txt --batch

تشریح خط‌به‌خط فرمان‌ها

  1. commix --url='http://TARGET/page?name=test' --batch --level=1گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. commix -r request.txt --batchگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- commix | tee commix.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s commix ARGS > commix.stdout.log 2> commix.stderr.log
status=$?; printf 'tool=commix\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee commix.meta
sha256sum commix.stdout.log commix.stderr.log commix.meta > commix.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l commix.stdout.log commix.stderr.log
sed -n '1,40p' commix.stdout.log | tee commix.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' commix.stderr.log > commix.issues.txt || true
sha256sum -c commix.SHA256SUMS | tee commix.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.07 xsserارزیابی XSS کنترل‌شده

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای ارزیابی XSS کنترل‌شده استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install xsser

SYNTAXxsser [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
--urlهدف
-iفایل
--autoآزمون خودکار
--saveذخیره

مثال‌های عملی کنترل‌شده

xsser --url 'http://TARGET/search?q=XSS' --auto
xsser -i urls.txt --save

تشریح خط‌به‌خط فرمان‌ها

  1. xsser --url 'http://TARGET/search?q=XSS' --autoگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. xsser -i urls.txt --saveگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- xsser | tee xsser.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s xsser ARGS > xsser.stdout.log 2> xsser.stderr.log
status=$?; printf 'tool=xsser\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee xsser.meta
sha256sum xsser.stdout.log xsser.stderr.log xsser.meta > xsser.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l xsser.stdout.log xsser.stderr.log
sed -n '1,40p' xsser.stdout.log | tee xsser.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' xsser.stderr.log > xsser.issues.txt || true
sha256sum -c xsser.SHA256SUMS | tee xsser.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.08 davtestبررسی روش‌های WebDAV

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای بررسی روش‌های WebDAV استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install davtest

SYNTAXdavtest [OPTIONS] -url URL
زیرفرمان / گزینهکاربرد امنیتی
-urlهدف
-authاعتبارنامه
-cleanupپاک‌سازی
-directoryمسیر

مثال‌های عملی کنترل‌شده

davtest -url http://TARGET/webdav/ -cleanup

تشریح خط‌به‌خط فرمان‌ها

  1. davtest -url http://TARGET/webdav/ -cleanupگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- davtest | tee davtest.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s davtest ARGS > davtest.stdout.log 2> davtest.stderr.log
status=$?; printf 'tool=davtest\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee davtest.meta
sha256sum davtest.stdout.log davtest.stderr.log davtest.meta > davtest.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l davtest.stdout.log davtest.stderr.log
sed -n '1,40p' davtest.stdout.log | tee davtest.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' davtest.stderr.log > davtest.issues.txt || true
sha256sum -c davtest.SHA256SUMS | tee davtest.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.09 cadaverکلاینت WebDAV

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای کلاینت WebDAV استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install cadaver

SYNTAXcadaver URL
زیرفرمان / گزینهکاربرد امنیتی
lsفهرست
getدریافت
putارسال آزمایشی
deleteپاک‌سازی
quitخروج

مثال‌های عملی کنترل‌شده

cadaver http://TARGET/webdav/
# ls, get FILE, put TESTFILE, delete TESTFILE, quit

تشریح خط‌به‌خط فرمان‌ها

  1. cadaver http://TARGET/webdav/فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- cadaver | tee cadaver.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s cadaver ARGS > cadaver.stdout.log 2> cadaver.stderr.log
status=$?; printf 'tool=cadaver\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee cadaver.meta
sha256sum cadaver.stdout.log cadaver.stderr.log cadaver.meta > cadaver.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l cadaver.stdout.log cadaver.stderr.log
sed -n '1,40p' cadaver.stdout.log | tee cadaver.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' cadaver.stderr.log > cadaver.issues.txt || true
sha256sum -c cadaver.SHA256SUMS | tee cadaver.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.10 openvasمدیریت Greenbone/OpenVAS

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای مدیریت Greenbone/OpenVAS استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install gvm

SYNTAXgvm-SUBCOMMAND
زیرفرمان / گزینهکاربرد امنیتی
gvm-setupراه‌اندازی
gvm-check-setupبررسی
gvm-startشروع
gvm-stopتوقف

مثال‌های عملی کنترل‌شده

sudo gvm-setup
sudo gvm-check-setup
sudo gvm-start
# ساخت Target → Task → Scan → Report در رابط محلی

تشریح خط‌به‌خط فرمان‌ها

  1. sudo gvm-setupبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  2. sudo gvm-check-setupبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  3. sudo gvm-startبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- openvas | tee openvas.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s openvas ARGS > openvas.stdout.log 2> openvas.stderr.log
status=$?; printf 'tool=openvas\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee openvas.meta
sha256sum openvas.stdout.log openvas.stderr.log openvas.meta > openvas.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l openvas.stdout.log openvas.stderr.log
sed -n '1,40p' openvas.stdout.log | tee openvas.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' openvas.stderr.log > openvas.issues.txt || true
sha256sum -c openvas.SHA256SUMS | tee openvas.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.11 lynisممیزی امنیتی میزبان خودتان

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای ممیزی امنیتی میزبان خودتان استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install lynis

SYNTAXlynis COMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
audit systemممیزی
show detailsجزئیات
--quickغیرتعاملی
--report-fileگزارش

مثال‌های عملی کنترل‌شده

sudo lynis audit system --quick
lynis show details TEST-ID

تشریح خط‌به‌خط فرمان‌ها

  1. sudo lynis audit system --quickبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. lynis show details TEST-IDفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- lynis | tee lynis.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s lynis ARGS > lynis.stdout.log 2> lynis.stderr.log
status=$?; printf 'tool=lynis\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee lynis.meta
sha256sum lynis.stdout.log lynis.stderr.log lynis.meta > lynis.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l lynis.stdout.log lynis.stderr.log
sed -n '1,40p' lynis.stdout.log | tee lynis.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' lynis.stderr.log > lynis.issues.txt || true
sha256sum -c lynis.SHA256SUMS | tee lynis.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.12 legionرابط گرافیکی enumeration

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای رابط گرافیکی enumeration استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install legion

SYNTAXlegion
زیرفرمان / گزینهکاربرد امنیتی
Hostsدارایی‌ها
Scanاسکن‌ها
Servicesسرویس‌ها
Scriptsوظایف
Notesیادداشت

مثال‌های عملی کنترل‌شده

legion

تشریح خط‌به‌خط فرمان‌ها

  1. legionفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- legion | tee legion.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s legion ARGS > legion.stdout.log 2> legion.stderr.log
status=$?; printf 'tool=legion\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee legion.meta
sha256sum legion.stdout.log legion.stderr.log legion.meta > legion.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l legion.stdout.log legion.stderr.log
sed -n '1,40p' legion.stdout.log | tee legion.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' legion.stderr.log > legion.issues.txt || true
sha256sum -c legion.SHA256SUMS | tee legion.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.13 faradayفضای کاری همکاری تست امنیت

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای فضای کاری همکاری تست امنیت استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install faraday

SYNTAXfaraday-server
زیرفرمان / گزینهکاربرد امنیتی
workspaceپروژه
importورودی
vulnerabilityیافته
reportگزارش

مثال‌های عملی کنترل‌شده

faraday-server
# ساخت workspace → واردکردن خروجی ابزار → بازبینی یافته → export

تشریح خط‌به‌خط فرمان‌ها

  1. faraday-serverفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- faraday | tee faraday.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s faraday ARGS > faraday.stdout.log 2> faraday.stderr.log
status=$?; printf 'tool=faraday\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee faraday.meta
sha256sum faraday.stdout.log faraday.stderr.log faraday.meta > faraday.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l faraday.stdout.log faraday.stderr.log
sed -n '1,40p' faraday.stdout.log | tee faraday.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' faraday.stderr.log > faraday.issues.txt || true
sha256sum -c faraday.SHA256SUMS | tee faraday.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.14جدید در دوره trivyاسکن image، filesystem و config

چرا اضافه شد؟ برای اسکن dependency، image، filesystem و misconfiguration

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای اسکن image، filesystem و config استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install trivy

SYNTAXtrivy TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
imageimage
fsفایل‌سیستم
configIaC
repositoryمخزن
--severityشدت
--formatقالب

مثال‌های عملی کنترل‌شده

trivy image --severity HIGH,CRITICAL IMAGE
trivy fs --scanners vuln,secret,misconfig .
trivy config --format json -o trivy.json .

تشریح خط‌به‌خط فرمان‌ها

  1. trivy image --severity HIGH,CRITICAL IMAGEگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. trivy fs --scanners vuln,secret,misconfig .گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. trivy config --format json -o trivy.json .گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- trivy | tee trivy.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s trivy ARGS > trivy.stdout.log 2> trivy.stderr.log
status=$?; printf 'tool=trivy\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee trivy.meta
sha256sum trivy.stdout.log trivy.stderr.log trivy.meta > trivy.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l trivy.stdout.log trivy.stderr.log
sed -n '1,40p' trivy.stdout.log | tee trivy.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' trivy.stderr.log > trivy.issues.txt || true
sha256sum -c trivy.SHA256SUMS | tee trivy.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.15جدید در دوره semgrepتحلیل الگو و SAST چندزبانه

چرا اضافه شد؟ برای SAST و کشف الگوهای ناامن در کد

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای تحلیل الگو و SAST چندزبانه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install semgrep

SYNTAXsemgrep [OPTIONS] [TARGETS]
زیرفرمان / گزینهکاربرد امنیتی
scanاسکن
--configقواعد
--jsonJSON
-oخروجی
--validateاعتبارسنجی
--baseline-commitتغییرات

مثال‌های عملی کنترل‌شده

semgrep scan --config auto src/ --json -o semgrep.json
semgrep scan --config p/owasp-top-ten src/
semgrep scan --validate --config rules/
semgrep scan --baseline-commit HEAD~1 --config rules/

تشریح خط‌به‌خط فرمان‌ها

  1. semgrep scan --config auto src/ --json -o semgrep.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. semgrep scan --config p/owasp-top-ten src/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. semgrep scan --validate --config rules/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. semgrep scan --baseline-commit HEAD~1 --config rules/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- semgrep | tee semgrep.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s semgrep ARGS > semgrep.stdout.log 2> semgrep.stderr.log
status=$?; printf 'tool=semgrep\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee semgrep.meta
sha256sum semgrep.stdout.log semgrep.stderr.log semgrep.meta > semgrep.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l semgrep.stdout.log semgrep.stderr.log
sed -n '1,40p' semgrep.stdout.log | tee semgrep.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' semgrep.stderr.log > semgrep.issues.txt || true
sha256sum -c semgrep.SHA256SUMS | tee semgrep.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

06.16جدید در دوره checkovتحلیل امنیت Infrastructure as Code

چرا اضافه شد؟ برای ارزیابی policy و misconfiguration زیرساخت به‌صورت کد

نقش امنیتی: از این ابزار در مسیر «اعتبارسنجی آسیب‌پذیری و بهره‌برداری آزمایشگاهی» برای تحلیل امنیت Infrastructure as Code استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install checkov

SYNTAXcheckov [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-dپوشه
-fفایل
--frameworkنوع
--checkکنترل
--skip-checkاستثنا
--outputقالب

مثال‌های عملی کنترل‌شده

checkov -d . --framework terraform --output json > checkov.json
checkov -f Dockerfile --framework dockerfile
checkov -d k8s/ --framework kubernetes

تشریح خط‌به‌خط فرمان‌ها

  1. checkov -d . --framework terraform --output json > checkov.jsonخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. checkov -f Dockerfile --framework dockerfileگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. checkov -d k8s/ --framework kubernetesگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- checkov | tee checkov.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s checkov ARGS > checkov.stdout.log 2> checkov.stderr.log
status=$?; printf 'tool=checkov\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee checkov.meta
sha256sum checkov.stdout.log checkov.stderr.log checkov.meta > checkov.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l checkov.stdout.log checkov.stderr.log
sed -n '1,40p' checkov.stdout.log | tee checkov.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' checkov.stderr.log > checkov.issues.txt || true
sha256sum -c checkov.SHA256SUMS | tee checkov.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

🔑

فصل امنیت 7: رمز عبور، Hash و احراز هویت

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ فقط hash و حساب آزمایشی خودتان؛ lockout policy، سقف نرخ، توقف اضطراری و روش نگهداری امن نتیجه را از قبل مشخص کنید. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. شناسایی نوع hash پیش از آزمون
  2. ساخت wordlist کوچک و مرتبط با لابراتوار
  3. اعمال سقف نرخ و توقف برای حساب‌ها

📦 خروجی‌های مورد انتظار

hash-type.txtwordlist.txtaudit-status.txtauth.SHA256SUMS

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 7/10
HASHFILE=lab-hashes.txt
hashid "$HASHFILE" | tee hash-type.txt
name-that-hash "$HASHFILE" > nth.txt
cewl -d 1 -m 8 https://lab.example.test | sort -u | head -n 500 > wordlist.txt
john --wordlist=wordlist.txt --format=FORMAT "$HASHFILE" --session=lab
john --status=lab | tee audit-status.txt
john --show --format=FORMAT "$HASHFILE" > recovered-summary.txt
sha256sum hash-type.txt nth.txt wordlist.txt audit-status.txt recovered-summary.txt > auth.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
HASHFILE=lab-hashes.txt
hashcat --example-hashes | grep -n -A4 'Hash mode #MODE' > mode-reference.txt
hashcat -m MODE "$HASHFILE" wordlist.txt --session lab --status --status-timer 10 --runtime 60 --potfile-path lab.pot
hashcat --session lab --show -m MODE "$HASHFILE" > recovered.txt
hashcat --session lab --left -m MODE "$HASHFILE" > remaining.txt
printf 'total=%s\nrecovered=%s\nremaining=%s\n' "$(wc -l < "$HASHFILE")" "$(wc -l < recovered.txt)" "$(wc -l < remaining.txt)" | tee audit-summary.txt
sed -E 's/:.*/:<redacted>/' recovered.txt > recovered.redacted.txt
sha256sum mode-reference.txt audit-summary.txt recovered.redacted.txt remaining.txt > auth-advanced.SHA256SUMS

خطاهای رایج

  • انتخاب mode اشتباه و نتیجه‌گیری نادرست
  • ذخیره password بازیابی‌شده در گزارش عادی
  • آزمون آنلاین بدون lockout policy و سقف نرخ

کنترل دفاعی و معیار قبولی

گزارش مدیریتی باید مقدار secret را redacted و فقط الگو و نرخ موفقیت را نشان دهد.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

07.01 hashidتشخیص احتمالی نوع هش

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای تشخیص احتمالی نوع هش استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install hashid

SYNTAXhashid [OPTIONS] HASH
زیرفرمان / گزینهکاربرد امنیتی
-mمد hashcat
-jفرمت John
-eگسترش
FILEفهرست هش

مثال‌های عملی کنترل‌شده

hashid '$6$example'
hashid -m hashes.txt

تشریح خط‌به‌خط فرمان‌ها

  1. hashid '$6$example'فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. hashid -m hashes.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- hashid | tee hashid.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s hashid ARGS > hashid.stdout.log 2> hashid.stderr.log
status=$?; printf 'tool=hashid\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee hashid.meta
sha256sum hashid.stdout.log hashid.stderr.log hashid.meta > hashid.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l hashid.stdout.log hashid.stderr.log
sed -n '1,40p' hashid.stdout.log | tee hashid.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' hashid.stderr.log > hashid.issues.txt || true
sha256sum -c hashid.SHA256SUMS | tee hashid.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.02 name-that-hashتشخیص هش با جزئیات

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای تشخیص هش با جزئیات استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install name-that-hash

SYNTAXnth [OPTIONS] HASH
زیرفرمان / گزینهکاربرد امنیتی
-tمتن
-fفایل
-aهمه احتمالات

مثال‌های عملی کنترل‌شده

nth -t '5f4dcc3b5aa765d61d8327deb882cf99'
nth -f hashes.txt

تشریح خط‌به‌خط فرمان‌ها

  1. nth -t '5f4dcc3b5aa765d61d8327deb882cf99'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. nth -f hashes.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- name-that-hash | tee name-that-hash.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s name-that-hash ARGS > name-that-hash.stdout.log 2> name-that-hash.stderr.log
status=$?; printf 'tool=name-that-hash\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee name-that-hash.meta
sha256sum name-that-hash.stdout.log name-that-hash.stderr.log name-that-hash.meta > name-that-hash.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l name-that-hash.stdout.log name-that-hash.stderr.log
sed -n '1,40p' name-that-hash.stdout.log | tee name-that-hash.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' name-that-hash.stderr.log > name-that-hash.issues.txt || true
sha256sum -c name-that-hash.SHA256SUMS | tee name-that-hash.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.03 johnممیزی آفلاین گذرواژه

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای ممیزی آفلاین گذرواژه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install john

SYNTAXjohn [OPTIONS] HASHFILE
زیرفرمان / گزینهکاربرد امنیتی
--wordlistواژه‌نامه
--formatنوع
--rulesقواعد
--showنمایش
--restoreادامه

مثال‌های عملی کنترل‌شده

john --wordlist=words.txt hashes.txt
john --format=raw-md5 hashes.txt
john --show hashes.txt

تشریح خط‌به‌خط فرمان‌ها

  1. john --wordlist=words.txt hashes.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. john --format=raw-md5 hashes.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. john --show hashes.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- john | tee john.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s john ARGS > john.stdout.log 2> john.stderr.log
status=$?; printf 'tool=john\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee john.meta
sha256sum john.stdout.log john.stderr.log john.meta > john.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l john.stdout.log john.stderr.log
sed -n '1,40p' john.stdout.log | tee john.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' john.stderr.log > john.issues.txt || true
sha256sum -c john.SHA256SUMS | tee john.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.04 hashcatممیزی هش با شتاب‌دهنده

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای ممیزی هش با شتاب‌دهنده استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install hashcat

SYNTAXhashcat [OPTIONS] HASHFILE WORDLIST
زیرفرمان / گزینهکاربرد امنیتی
-mنوع هش
-aحالت حمله
--sessionنشست
--showنمایش
--restoreادامه

مثال‌های عملی کنترل‌شده

hashcat -m 0 -a 0 hashes.txt words.txt --session lab
hashcat -m 1000 hashes.txt words.txt --show
hashcat --example-hashes | less

تشریح خط‌به‌خط فرمان‌ها

  1. hashcat -m 0 -a 0 hashes.txt words.txt --session labگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. hashcat -m 1000 hashes.txt words.txt --showگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. hashcat --example-hashes | lessخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- hashcat | tee hashcat.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s hashcat ARGS > hashcat.stdout.log 2> hashcat.stderr.log
status=$?; printf 'tool=hashcat\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee hashcat.meta
sha256sum hashcat.stdout.log hashcat.stderr.log hashcat.meta > hashcat.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l hashcat.stdout.log hashcat.stderr.log
sed -n '1,40p' hashcat.stdout.log | tee hashcat.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' hashcat.stderr.log > hashcat.issues.txt || true
sha256sum -c hashcat.SHA256SUMS | tee hashcat.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.05 hydraآزمون احراز هویت روی حساب‌های آزمایشی

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای آزمون احراز هویت روی حساب‌های آزمایشی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install hydra

SYNTAXhydra [OPTIONS] SERVICE://TARGET
زیرفرمان / گزینهکاربرد امنیتی
-l/-Lکاربر/فایل
-p/-Pرمز/فایل
-tهم‌روندی
-oخروجی
-fتوقف با موفقیت

مثال‌های عملی کنترل‌شده

hydra -l testuser -P lab-passwords.txt ssh://TARGET -t 2 -o hydra.txt
hydra -L users.txt -p TestPass123 ftp://TARGET -t 2

تشریح خط‌به‌خط فرمان‌ها

  1. hydra -l testuser -P lab-passwords.txt ssh://TARGET -t 2 -o hydra.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. hydra -L users.txt -p TestPass123 ftp://TARGET -t 2گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- hydra | tee hydra.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s hydra ARGS > hydra.stdout.log 2> hydra.stderr.log
status=$?; printf 'tool=hydra\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee hydra.meta
sha256sum hydra.stdout.log hydra.stderr.log hydra.meta > hydra.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l hydra.stdout.log hydra.stderr.log
sed -n '1,40p' hydra.stdout.log | tee hydra.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' hydra.stderr.log > hydra.issues.txt || true
sha256sum -c hydra.SHA256SUMS | tee hydra.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.06 medusaممیزی موازی login

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای ممیزی موازی login استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install medusa

SYNTAXmedusa [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-h/-Hمیزبان
-u/-Uکاربر
-p/-Pرمز
-Mماژول
-Tthread
-Oخروجی

مثال‌های عملی کنترل‌شده

medusa -h TARGET -u testuser -P lab-passwords.txt -M ssh -T 2 -O medusa.txt

تشریح خط‌به‌خط فرمان‌ها

  1. medusa -h TARGET -u testuser -P lab-passwords.txt -M ssh -T 2 -O medusa.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- medusa | tee medusa.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s medusa ARGS > medusa.stdout.log 2> medusa.stderr.log
status=$?; printf 'tool=medusa\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee medusa.meta
sha256sum medusa.stdout.log medusa.stderr.log medusa.meta > medusa.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l medusa.stdout.log medusa.stderr.log
sed -n '1,40p' medusa.stdout.log | tee medusa.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' medusa.stderr.log > medusa.issues.txt || true
sha256sum -c medusa.SHA256SUMS | tee medusa.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.07 ncrackممیزی سرویس شبکه

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای ممیزی سرویس شبکه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install ncrack

SYNTAXncrack [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد امنیتی
-pپورت
--userکاربر
-Pفهرست
-Tزمان‌بندی
-oNخروجی

مثال‌های عملی کنترل‌شده

ncrack -p 22 --user testuser -P lab-passwords.txt TARGET -T2 -oN ncrack.txt

تشریح خط‌به‌خط فرمان‌ها

  1. ncrack -p 22 --user testuser -P lab-passwords.txt TARGET -T2 -oN ncrack.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- ncrack | tee ncrack.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s ncrack ARGS > ncrack.stdout.log 2> ncrack.stderr.log
status=$?; printf 'tool=ncrack\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee ncrack.meta
sha256sum ncrack.stdout.log ncrack.stderr.log ncrack.meta > ncrack.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l ncrack.stdout.log ncrack.stderr.log
sed -n '1,40p' ncrack.stdout.log | tee ncrack.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' ncrack.stderr.log > ncrack.issues.txt || true
sha256sum -c ncrack.SHA256SUMS | tee ncrack.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.08 cewlساخت واژه‌نامه از محتوای مجاز

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای ساخت واژه‌نامه از محتوای مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install cewl

SYNTAXcewl [OPTIONS] URL
زیرفرمان / گزینهکاربرد امنیتی
-dعمق
-mحد طول
-wخروجی
-eایمیل
--lowercaseحروف کوچک

مثال‌های عملی کنترل‌شده

cewl http://TARGET/docs -d 2 -m 6 -w words.txt
cewl http://TARGET -e --email_file emails.txt

تشریح خط‌به‌خط فرمان‌ها

  1. cewl http://TARGET/docs -d 2 -m 6 -w words.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. cewl http://TARGET -e --email_file emails.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- cewl | tee cewl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s cewl ARGS > cewl.stdout.log 2> cewl.stderr.log
status=$?; printf 'tool=cewl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee cewl.meta
sha256sum cewl.stdout.log cewl.stderr.log cewl.meta > cewl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l cewl.stdout.log cewl.stderr.log
sed -n '1,40p' cewl.stdout.log | tee cewl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' cewl.stderr.log > cewl.issues.txt || true
sha256sum -c cewl.SHA256SUMS | tee cewl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.09 crunchتولید واژه‌نامه محدود

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای تولید واژه‌نامه محدود استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install crunch

SYNTAXcrunch MIN MAX [CHARSET] [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-tالگو
-oخروجی
-sشروع
-eپایان
-pجایگشت

مثال‌های عملی کنترل‌شده

crunch 8 8 0123456789 -o pins.txt
crunch 6 8 -t lab@@@ -o words.txt

تشریح خط‌به‌خط فرمان‌ها

  1. crunch 8 8 0123456789 -o pins.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. crunch 6 8 -t lab@@@ -o words.txtگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- crunch | tee crunch.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s crunch ARGS > crunch.stdout.log 2> crunch.stderr.log
status=$?; printf 'tool=crunch\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee crunch.meta
sha256sum crunch.stdout.log crunch.stderr.log crunch.meta > crunch.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l crunch.stdout.log crunch.stderr.log
sed -n '1,40p' crunch.stdout.log | tee crunch.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' crunch.stderr.log > crunch.issues.txt || true
sha256sum -c crunch.SHA256SUMS | tee crunch.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.10 rsmanglerتغییر و گسترش واژه‌ها

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای تغییر و گسترش واژه‌ها استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install rsmangler

SYNTAXrsmangler [OPTIONS] -f FILE
زیرفرمان / گزینهکاربرد امنیتی
-fورودی
-oخروجی
-mحداقل
-xحداکثر
--yearsسال‌ها

مثال‌های عملی کنترل‌شده

rsmangler -f base.txt -o mangled.txt -m 6 -x 12

تشریح خط‌به‌خط فرمان‌ها

  1. rsmangler -f base.txt -o mangled.txt -m 6 -x 12گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- rsmangler | tee rsmangler.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s rsmangler ARGS > rsmangler.stdout.log 2> rsmangler.stderr.log
status=$?; printf 'tool=rsmangler\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee rsmangler.meta
sha256sum rsmangler.stdout.log rsmangler.stderr.log rsmangler.meta > rsmangler.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l rsmangler.stdout.log rsmangler.stderr.log
sed -n '1,40p' rsmangler.stdout.log | tee rsmangler.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' rsmangler.stderr.log > rsmangler.issues.txt || true
sha256sum -c rsmangler.SHA256SUMS | tee rsmangler.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.11 cuppواژه‌نامه سناریوی آزمایش

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای واژه‌نامه سناریوی آزمایش استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install cupp

SYNTAXcupp [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-iتعاملی
-lفهرست واژه‌نامه‌ها
-aدانلود پیش‌فرض

مثال‌های عملی کنترل‌شده

cupp -i
cupp -l

تشریح خط‌به‌خط فرمان‌ها

  1. cupp -iگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. cupp -lگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- cupp | tee cupp.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s cupp ARGS > cupp.stdout.log 2> cupp.stderr.log
status=$?; printf 'tool=cupp\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee cupp.meta
sha256sum cupp.stdout.log cupp.stderr.log cupp.meta > cupp.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l cupp.stdout.log cupp.stderr.log
sed -n '1,40p' cupp.stdout.log | tee cupp.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' cupp.stderr.log > cupp.issues.txt || true
sha256sum -c cupp.SHA256SUMS | tee cupp.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.12 john-convertersاستخراج هش از فایل آزمایشی

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای استخراج هش از فایل آزمایشی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install john

SYNTAXFORMAT2john FILE > HASH
زیرفرمان / گزینهکاربرد امنیتی
zip2johnZIP
ssh2johnکلید SSH
keepass2johnKeePass
pdf2johnPDF

مثال‌های عملی کنترل‌شده

zip2john sample.zip > zip.hash
ssh2john test_key > ssh.hash
keepass2john lab.kdbx > keepass.hash

تشریح خط‌به‌خط فرمان‌ها

  1. zip2john sample.zip > zip.hashخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید.
  2. ssh2john test_key > ssh.hashخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید.
  3. keepass2john lab.kdbx > keepass.hashخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- john-converters | tee john-converters.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s john-converters ARGS > john-converters.stdout.log 2> john-converters.stderr.log
status=$?; printf 'tool=john-converters\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee john-converters.meta
sha256sum john-converters.stdout.log john-converters.stderr.log john-converters.meta > john-converters.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l john-converters.stdout.log john-converters.stderr.log
sed -n '1,40p' john-converters.stdout.log | tee john-converters.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' john-converters.stderr.log > john-converters.issues.txt || true
sha256sum -c john-converters.SHA256SUMS | tee john-converters.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.13 keepassxc-cliممیزی و مدیریت vault خودتان

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای ممیزی و مدیریت vault خودتان استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install keepassxc

SYNTAXkeepassxc-cli COMMAND DATABASE
زیرفرمان / گزینهکاربرد امنیتی
lsفهرست
showنمایش
analyzeتحلیل
exportخروجی
db-infoمشخصات

مثال‌های عملی کنترل‌شده

keepassxc-cli ls lab.kdbx
keepassxc-cli show lab.kdbx Entry
keepassxc-cli analyze lab.kdbx

تشریح خط‌به‌خط فرمان‌ها

  1. keepassxc-cli ls lab.kdbxفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. keepassxc-cli show lab.kdbx Entryفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. keepassxc-cli analyze lab.kdbxفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- keepassxc-cli | tee keepassxc-cli.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s keepassxc-cli ARGS > keepassxc-cli.stdout.log 2> keepassxc-cli.stderr.log
status=$?; printf 'tool=keepassxc-cli\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee keepassxc-cli.meta
sha256sum keepassxc-cli.stdout.log keepassxc-cli.stderr.log keepassxc-cli.meta > keepassxc-cli.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l keepassxc-cli.stdout.log keepassxc-cli.stderr.log
sed -n '1,40p' keepassxc-cli.stdout.log | tee keepassxc-cli.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' keepassxc-cli.stderr.log > keepassxc-cli.issues.txt || true
sha256sum -c keepassxc-cli.SHA256SUMS | tee keepassxc-cli.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.14جدید در دوره jwt-toolبررسی ساختار و تنظیمات JWT

چرا اضافه شد؟ برای بررسی ساختار و claimهای token آزمایشی

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای بررسی ساختار و تنظیمات JWT استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: git clone https://github.com/ticarpi/jwt_tool

SYNTAXpython3 jwt_tool.py TOKEN [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-tURL
-rhهدر
-Mحالت اسکن
-Iدستکاری claim
-pcنام claim
-pvمقدار
--dump-configپیکربندی

مثال‌های عملی کنترل‌شده

python3 jwt_tool.py TOKEN
python3 jwt_tool.py TOKEN -t https://TARGET/api/profile -rh 'Authorization: Bearer TOKEN' -M pb
python3 jwt_tool.py TOKEN -I -pc role -pv viewer

تشریح خط‌به‌خط فرمان‌ها

  1. python3 jwt_tool.py TOKENفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. python3 jwt_tool.py TOKEN -t https://TARGET/api/profile -rh 'Authorization: Bearer TOKEN' -M pbگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. python3 jwt_tool.py TOKEN -I -pc role -pv viewerگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- jwt-tool | tee jwt-tool.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s jwt-tool ARGS > jwt-tool.stdout.log 2> jwt-tool.stderr.log
status=$?; printf 'tool=jwt-tool\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee jwt-tool.meta
sha256sum jwt-tool.stdout.log jwt-tool.stderr.log jwt-tool.meta > jwt-tool.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l jwt-tool.stdout.log jwt-tool.stderr.log
sed -n '1,40p' jwt-tool.stdout.log | tee jwt-tool.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' jwt-tool.stderr.log > jwt-tool.issues.txt || true
sha256sum -c jwt-tool.SHA256SUMS | tee jwt-tool.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.15جدید در دوره gpgرمزنگاری و امضای OpenPGP

چرا اضافه شد؟ برای رمزگذاری و امضای خروجی‌های حساس ممیزی

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای رمزنگاری و امضای OpenPGP استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install gnupg

SYNTAXgpg [OPTIONS] COMMAND [FILES]
زیرفرمان / گزینهکاربرد امنیتی
--quick-generate-keyساخت
--list-keysفهرست
--encryptرمز
--decryptبازکردن
--detach-signامضا
--verifyبررسی

مثال‌های عملی کنترل‌شده

gpg --quick-generate-key 'Lab Analyst <analyst@example.test>' ed25519 sign 1y
gpg --detach-sign --armor report.md
gpg --verify report.md.asc report.md
gpg --encrypt --recipient analyst@example.test evidence.tar

تشریح خط‌به‌خط فرمان‌ها

  1. gpg --quick-generate-key 'Lab Analyst <analyst@example.test>' ed25519 sign 1yخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. gpg --detach-sign --armor report.mdگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. gpg --verify report.md.asc report.mdگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. gpg --encrypt --recipient analyst@example.test evidence.tarگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- gpg | tee gpg.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s gpg ARGS > gpg.stdout.log 2> gpg.stderr.log
status=$?; printf 'tool=gpg\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee gpg.meta
sha256sum gpg.stdout.log gpg.stderr.log gpg.meta > gpg.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l gpg.stdout.log gpg.stderr.log
sed -n '1,40p' gpg.stdout.log | tee gpg.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' gpg.stderr.log > gpg.issues.txt || true
sha256sum -c gpg.SHA256SUMS | tee gpg.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

07.16جدید در دوره passمدیر رمز مبتنی بر GPG و Git

چرا اضافه شد؟ برای نگهداری کنترل‌شده credentialهای آزمایشگاهی

نقش امنیتی: از این ابزار در مسیر «رمز عبور، Hash و احراز هویت» برای مدیر رمز مبتنی بر GPG و Git استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install pass

SYNTAXpass COMMAND [ARGS]
زیرفرمان / گزینهکاربرد امنیتی
initآماده‌سازی
insertافزودن
showنمایش
generateساخت
rmحذف
gitنسخه‌بندی

مثال‌های عملی کنترل‌شده

pass init GPG_KEY_ID
pass insert lab/api-token
pass show lab/api-token
pass git log --oneline

تشریح خط‌به‌خط فرمان‌ها

  1. pass init GPG_KEY_IDفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. pass insert lab/api-tokenفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. pass show lab/api-tokenفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  4. pass git log --onelineگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- pass | tee pass.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s pass ARGS > pass.stdout.log 2> pass.stderr.log
status=$?; printf 'tool=pass\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee pass.meta
sha256sum pass.stdout.log pass.stderr.log pass.meta > pass.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l pass.stdout.log pass.stderr.log
sed -n '1,40p' pass.stdout.log | tee pass.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' pass.stderr.log > pass.issues.txt || true
sha256sum -c pass.SHA256SUMS | tee pass.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

🏢

فصل امنیت 8: امنیت Active Directory و Windows

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ enumeration و اعتبارسنجی AD را با هویت کم‌اختیار آغاز کنید و هر عملیات تغییردهنده یا credential-sensitive را به لابراتوار محدود کنید. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. enumeration با حساب کم‌اختیار
  2. ثبت domain، host، share و trust
  3. جلوگیری از عملیات credential-sensitive خارج لابراتوار

📦 خروجی‌های مورد انتظار

domain.txtusers.txtshares.txtad.SHA256SUMS

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 8/10
DC=192.0.2.20
DOMAIN=lab.test
ldapsearch -x -H "ldap://$DC" -D 'LAB\testuser' -W -b 'DC=lab,DC=test' -LLL '(objectClass=computer)' dNSHostName | tee computers.ldif
netexec smb "$DC" -u testuser -p 'TestPass!' --shares | tee shares.txt
smbmap -H "$DC" -u testuser -p 'TestPass!' | tee smbmap.txt
bloodhound-python -d "$DOMAIN" -u testuser -p 'TestPass!' -ns "$DC" -c DCOnly --zip
certipy-ad find -u 'testuser@lab.test' -p 'TestPass!' -dc-ip "$DC" -enabled -json
sha256sum computers.ldif shares.txt smbmap.txt *.zip *.json > ad.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
DC=192.0.2.20
BASE='DC=lab,DC=test'
ldapsearch -x -H "ldap://$DC" -D 'LAB\testuser' -W -b "$BASE" -LLL '(objectClass=group)' cn member > groups.ldif
ldapsearch -x -H "ldap://$DC" -D 'LAB\testuser' -W -b "$BASE" -LLL '(&(objectClass=user)(servicePrincipalName=*))' sAMAccountName servicePrincipalName > spn-users.ldif
netexec smb "$DC" -u testuser -p 'TestPass!' --pass-pol | tee password-policy.txt
netexec smb "$DC" -u testuser -p 'TestPass!' --loggedon-users | tee loggedon.txt
bloodhound-python -d lab.test -u testuser -p 'TestPass!' -ns "$DC" -c Group,Trusts,Container --zip
printf 'source\trelation\ttarget\tevidence\n' > ad-review.tsv
sha256sum groups.ldif spn-users.ldif password-policy.txt loggedon.txt *.zip > ad-advanced.SHA256SUMS

خطاهای رایج

  • شروع با حساب Domain Admin به‌جای هویت کم‌اختیار
  • اجرای collection گسترده بدون نیاز تحلیلی
  • قرار دادن credential در command history یا گزارش

کنترل دفاعی و معیار قبولی

collection را به edgeهای لازم محدود و credential آزمایشی را پس از ارزیابی rotate کنید.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

08.01 netexecشمارش و ممیزی چندپروتکلی AD

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای شمارش و ممیزی چندپروتکلی AD استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install netexec

SYNTAXnxc PROTOCOL TARGET [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
smb/ldap/winrmپروتکل
-uکاربر
-pرمز
--sharesاشتراک‌ها
--usersکاربران
-Mماژول

مثال‌های عملی کنترل‌شده

nxc smb TARGET -u testuser -p 'TestPass!' --shares
nxc ldap DC -u testuser -p 'TestPass!' --users
nxc winrm TARGET -u testuser -p 'TestPass!'

تشریح خط‌به‌خط فرمان‌ها

  1. nxc smb TARGET -u testuser -p 'TestPass!' --sharesگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. nxc ldap DC -u testuser -p 'TestPass!' --usersگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. nxc winrm TARGET -u testuser -p 'TestPass!'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- netexec | tee netexec.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s netexec ARGS > netexec.stdout.log 2> netexec.stderr.log
status=$?; printf 'tool=netexec\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee netexec.meta
sha256sum netexec.stdout.log netexec.stderr.log netexec.meta > netexec.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l netexec.stdout.log netexec.stderr.log
sed -n '1,40p' netexec.stdout.log | tee netexec.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' netexec.stderr.log > netexec.issues.txt || true
sha256sum -c netexec.SHA256SUMS | tee netexec.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.02 impacket-smbclientکلاینت SMB مجموعه Impacket

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای کلاینت SMB مجموعه Impacket استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install python3-impacket

SYNTAXimpacket-smbclient [OPTIONS] DOMAIN/USER:PASSWORD@TARGET
زیرفرمان / گزینهکاربرد امنیتی
sharesفهرست
useانتخاب
lsفایل‌ها
getدریافت
putارسال آزمایشی

مثال‌های عملی کنترل‌شده

impacket-smbclient 'LAB/testuser:TestPass!@TARGET'
# shares, use SHARE, ls, get FILE, exit

تشریح خط‌به‌خط فرمان‌ها

  1. impacket-smbclient 'LAB/testuser:TestPass!@TARGET'فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- impacket-smbclient | tee impacket-smbclient.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s impacket-smbclient ARGS > impacket-smbclient.stdout.log 2> impacket-smbclient.stderr.log
status=$?; printf 'tool=impacket-smbclient\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee impacket-smbclient.meta
sha256sum impacket-smbclient.stdout.log impacket-smbclient.stderr.log impacket-smbclient.meta > impacket-smbclient.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l impacket-smbclient.stdout.log impacket-smbclient.stderr.log
sed -n '1,40p' impacket-smbclient.stdout.log | tee impacket-smbclient.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' impacket-smbclient.stderr.log > impacket-smbclient.issues.txt || true
sha256sum -c impacket-smbclient.SHA256SUMS | tee impacket-smbclient.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.03 impacket-lookupsidبررسی SID و حساب‌های دامنه

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای بررسی SID و حساب‌های دامنه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install python3-impacket

SYNTAXimpacket-lookupsid [OPTIONS] IDENTITY@TARGET
زیرفرمان / گزینهکاربرد امنیتی
-no-passبدون prompt
-hashesهش مجاز
-domain-sidsSID دامنه
IDENTITYهویت

مثال‌های عملی کنترل‌شده

impacket-lookupsid 'LAB/testuser:TestPass!@DC'
impacket-lookupsid -no-pass 'LAB/testuser@DC'

تشریح خط‌به‌خط فرمان‌ها

  1. impacket-lookupsid 'LAB/testuser:TestPass!@DC'فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. impacket-lookupsid -no-pass 'LAB/testuser@DC'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- impacket-lookupsid | tee impacket-lookupsid.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s impacket-lookupsid ARGS > impacket-lookupsid.stdout.log 2> impacket-lookupsid.stderr.log
status=$?; printf 'tool=impacket-lookupsid\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee impacket-lookupsid.meta
sha256sum impacket-lookupsid.stdout.log impacket-lookupsid.stderr.log impacket-lookupsid.meta > impacket-lookupsid.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l impacket-lookupsid.stdout.log impacket-lookupsid.stderr.log
sed -n '1,40p' impacket-lookupsid.stdout.log | tee impacket-lookupsid.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' impacket-lookupsid.stderr.log > impacket-lookupsid.issues.txt || true
sha256sum -c impacket-lookupsid.SHA256SUMS | tee impacket-lookupsid.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.04 impacket-rpcdumpفهرست endpointهای RPC

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای فهرست endpointهای RPC استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install python3-impacket

SYNTAXimpacket-rpcdump [OPTIONS] TARGET
زیرفرمان / گزینهکاربرد امنیتی
-portپورت
-debugدیباگ
-hashesاعتبارنامه هش مجاز

مثال‌های عملی کنترل‌شده

impacket-rpcdump TARGET
impacket-rpcdump -port 135 TARGET | tee rpc.txt

تشریح خط‌به‌خط فرمان‌ها

  1. impacket-rpcdump TARGETفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. impacket-rpcdump -port 135 TARGET | tee rpc.txtخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- impacket-rpcdump | tee impacket-rpcdump.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s impacket-rpcdump ARGS > impacket-rpcdump.stdout.log 2> impacket-rpcdump.stderr.log
status=$?; printf 'tool=impacket-rpcdump\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee impacket-rpcdump.meta
sha256sum impacket-rpcdump.stdout.log impacket-rpcdump.stderr.log impacket-rpcdump.meta > impacket-rpcdump.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l impacket-rpcdump.stdout.log impacket-rpcdump.stderr.log
sed -n '1,40p' impacket-rpcdump.stdout.log | tee impacket-rpcdump.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' impacket-rpcdump.stderr.log > impacket-rpcdump.issues.txt || true
sha256sum -c impacket-rpcdump.SHA256SUMS | tee impacket-rpcdump.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.05 impacket-secretsdumpبازبینی credential store در لابراتوار

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای بازبینی credential store در لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install python3-impacket

SYNTAXimpacket-secretsdump [OPTIONS] IDENTITY@TARGET
زیرفرمان / گزینهکاربرد امنیتی
-samفایل SAM
-systemSYSTEM
-securitySECURITY
LOCALتحلیل آفلاین

مثال‌های عملی کنترل‌شده

impacket-secretsdump -sam SAM -system SYSTEM LOCAL
impacket-secretsdump -security SECURITY -system SYSTEM LOCAL

تشریح خط‌به‌خط فرمان‌ها

  1. impacket-secretsdump -sam SAM -system SYSTEM LOCALگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. impacket-secretsdump -security SECURITY -system SYSTEM LOCALگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- impacket-secretsdump | tee impacket-secretsdump.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s impacket-secretsdump ARGS > impacket-secretsdump.stdout.log 2> impacket-secretsdump.stderr.log
status=$?; printf 'tool=impacket-secretsdump\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee impacket-secretsdump.meta
sha256sum impacket-secretsdump.stdout.log impacket-secretsdump.stderr.log impacket-secretsdump.meta > impacket-secretsdump.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l impacket-secretsdump.stdout.log impacket-secretsdump.stderr.log
sed -n '1,40p' impacket-secretsdump.stdout.log | tee impacket-secretsdump.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' impacket-secretsdump.stderr.log > impacket-secretsdump.issues.txt || true
sha256sum -c impacket-secretsdump.SHA256SUMS | tee impacket-secretsdump.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.06 bloodhound-pythonگردآوری روابط AD برای BloodHound

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای گردآوری روابط AD برای BloodHound استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install bloodhound.py

SYNTAXbloodhound-python [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-uکاربر
-pرمز
-dدامنه
-nsDNS
-cروش گردآوری
--zipبسته خروجی

مثال‌های عملی کنترل‌شده

bloodhound-python -u testuser -p 'TestPass!' -d lab.test -ns DC_IP -c DCOnly
bloodhound-python -u testuser -p 'TestPass!' -d lab.test -c All --zip

تشریح خط‌به‌خط فرمان‌ها

  1. bloodhound-python -u testuser -p 'TestPass!' -d lab.test -ns DC_IP -c DCOnlyگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. bloodhound-python -u testuser -p 'TestPass!' -d lab.test -c All --zipگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- bloodhound-python | tee bloodhound-python.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s bloodhound-python ARGS > bloodhound-python.stdout.log 2> bloodhound-python.stderr.log
status=$?; printf 'tool=bloodhound-python\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee bloodhound-python.meta
sha256sum bloodhound-python.stdout.log bloodhound-python.stderr.log bloodhound-python.meta > bloodhound-python.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l bloodhound-python.stdout.log bloodhound-python.stderr.log
sed -n '1,40p' bloodhound-python.stdout.log | tee bloodhound-python.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' bloodhound-python.stderr.log > bloodhound-python.issues.txt || true
sha256sum -c bloodhound-python.SHA256SUMS | tee bloodhound-python.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.07 bloodhoundتحلیل گراف مجوزهای AD

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای تحلیل گراف مجوزهای AD استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install bloodhound

SYNTAXbloodhound
زیرفرمان / گزینهکاربرد امنیتی
Upload Dataورود
Database Infoوضعیت
Queriesپرس‌وجو
Shortest Pathsمسیرها
Clear Databaseپاک‌سازی

مثال‌های عملی کنترل‌شده

bloodhound
# ورود داده ZIP → بررسی nodeها → Queries → ثبت مسیر و راهکار

تشریح خط‌به‌خط فرمان‌ها

  1. bloodhoundفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- bloodhound | tee bloodhound.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s bloodhound ARGS > bloodhound.stdout.log 2> bloodhound.stderr.log
status=$?; printf 'tool=bloodhound\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee bloodhound.meta
sha256sum bloodhound.stdout.log bloodhound.stderr.log bloodhound.meta > bloodhound.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l bloodhound.stdout.log bloodhound.stderr.log
sed -n '1,40p' bloodhound.stdout.log | tee bloodhound.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' bloodhound.stderr.log > bloodhound.issues.txt || true
sha256sum -c bloodhound.SHA256SUMS | tee bloodhound.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.08 ldapdomaindumpخروجی ساختاریافته LDAP دامنه

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای خروجی ساختاریافته LDAP دامنه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install ldapdomaindump

SYNTAXldapdomaindump [OPTIONS] HOST
زیرفرمان / گزینهکاربرد امنیتی
-uکاربر
-pرمز
-oخروجی
--no-jsonبدون JSON
--no-grepبدون grep output

مثال‌های عملی کنترل‌شده

ldapdomaindump -u 'LAB\testuser' -p 'TestPass!' -o ldap-out DC
ldapdomaindump --no-json --no-grep DC

تشریح خط‌به‌خط فرمان‌ها

  1. ldapdomaindump -u 'LAB\testuser' -p 'TestPass!' -o ldap-out DCگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. ldapdomaindump --no-json --no-grep DCگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- ldapdomaindump | tee ldapdomaindump.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s ldapdomaindump ARGS > ldapdomaindump.stdout.log 2> ldapdomaindump.stderr.log
status=$?; printf 'tool=ldapdomaindump\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee ldapdomaindump.meta
sha256sum ldapdomaindump.stdout.log ldapdomaindump.stderr.log ldapdomaindump.meta > ldapdomaindump.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l ldapdomaindump.stdout.log ldapdomaindump.stderr.log
sed -n '1,40p' ldapdomaindump.stdout.log | tee ldapdomaindump.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' ldapdomaindump.stderr.log > ldapdomaindump.issues.txt || true
sha256sum -c ldapdomaindump.SHA256SUMS | tee ldapdomaindump.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.09 adidnsdumpاستخراج رکوردهای AD-integrated DNS

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای استخراج رکوردهای AD-integrated DNS استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install adidnsdump

SYNTAXadidnsdump [OPTIONS] DC
زیرفرمان / گزینهکاربرد امنیتی
-uکاربر
-pرمز
--dns-tcpTCP
--print-zoneszoneها
--zonezone مشخص

مثال‌های عملی کنترل‌شده

adidnsdump -u 'LAB\testuser' -p 'TestPass!' --dns-tcp DC
adidnsdump --print-zones -u 'LAB\testuser' -p 'TestPass!' DC

تشریح خط‌به‌خط فرمان‌ها

  1. adidnsdump -u 'LAB\testuser' -p 'TestPass!' --dns-tcp DCگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. adidnsdump --print-zones -u 'LAB\testuser' -p 'TestPass!' DCگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- adidnsdump | tee adidnsdump.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s adidnsdump ARGS > adidnsdump.stdout.log 2> adidnsdump.stderr.log
status=$?; printf 'tool=adidnsdump\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee adidnsdump.meta
sha256sum adidnsdump.stdout.log adidnsdump.stderr.log adidnsdump.meta > adidnsdump.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l adidnsdump.stdout.log adidnsdump.stderr.log
sed -n '1,40p' adidnsdump.stdout.log | tee adidnsdump.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' adidnsdump.stderr.log > adidnsdump.issues.txt || true
sha256sum -c adidnsdump.SHA256SUMS | tee adidnsdump.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.10 certipy-adممیزی Active Directory Certificate Services

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای ممیزی Active Directory Certificate Services استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install certipy-ad

SYNTAXcertipy SUBCOMMAND [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
findکشف
accountحساب
templatetemplate
caمرجع
-dc-ipکنترلر
-stdoutخروجی

مثال‌های عملی کنترل‌شده

certipy find -u 'testuser@lab.test' -p 'TestPass!' -dc-ip DC_IP -stdout
certipy find -u 'testuser@lab.test' -p 'TestPass!' -dc-ip DC_IP -json

تشریح خط‌به‌خط فرمان‌ها

  1. certipy find -u 'testuser@lab.test' -p 'TestPass!' -dc-ip DC_IP -stdoutگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. certipy find -u 'testuser@lab.test' -p 'TestPass!' -dc-ip DC_IP -jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- certipy-ad | tee certipy-ad.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s certipy-ad ARGS > certipy-ad.stdout.log 2> certipy-ad.stderr.log
status=$?; printf 'tool=certipy-ad\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee certipy-ad.meta
sha256sum certipy-ad.stdout.log certipy-ad.stderr.log certipy-ad.meta > certipy-ad.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l certipy-ad.stdout.log certipy-ad.stderr.log
sed -n '1,40p' certipy-ad.stdout.log | tee certipy-ad.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' certipy-ad.stderr.log > certipy-ad.issues.txt || true
sha256sum -c certipy-ad.SHA256SUMS | tee certipy-ad.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.11 smbmapنقشه دسترسی SMB

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای نقشه دسترسی SMB استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install smbmap

SYNTAXsmbmap [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-Hمیزبان
-uکاربر
-pرمز
-rبازگشتی
--depthعمق
--csvخروجی

مثال‌های عملی کنترل‌شده

smbmap -H TARGET -u testuser -p 'TestPass!'
smbmap -H TARGET -u testuser -p 'TestPass!' -r SHARE --depth 2

تشریح خط‌به‌خط فرمان‌ها

  1. smbmap -H TARGET -u testuser -p 'TestPass!'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. smbmap -H TARGET -u testuser -p 'TestPass!' -r SHARE --depth 2گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- smbmap | tee smbmap.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s smbmap ARGS > smbmap.stdout.log 2> smbmap.stderr.log
status=$?; printf 'tool=smbmap\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee smbmap.meta
sha256sum smbmap.stdout.log smbmap.stderr.log smbmap.meta > smbmap.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l smbmap.stdout.log smbmap.stderr.log
sed -n '1,40p' smbmap.stdout.log | tee smbmap.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' smbmap.stderr.log > smbmap.issues.txt || true
sha256sum -c smbmap.SHA256SUMS | tee smbmap.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.12 responderمشاهده نام‌حل‌کنی در شبکه لابراتوار

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای مشاهده نام‌حل‌کنی در شبکه لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install responder

SYNTAXresponder [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-Iرابط
-Aتحلیل بدون پاسخ
-wWPAD
-ffingerprint
-vجزئیات

مثال‌های عملی کنترل‌شده

sudo responder -I eth1 -A
sudo responder -I eth1 -A -w -f

تشریح خط‌به‌خط فرمان‌ها

  1. sudo responder -I eth1 -Aبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo responder -I eth1 -A -w -fبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- responder | tee responder.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s responder ARGS > responder.stdout.log 2> responder.stderr.log
status=$?; printf 'tool=responder\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee responder.meta
sha256sum responder.stdout.log responder.stderr.log responder.meta > responder.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l responder.stdout.log responder.stderr.log
sed -n '1,40p' responder.stdout.log | tee responder.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' responder.stderr.log > responder.issues.txt || true
sha256sum -c responder.SHA256SUMS | tee responder.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.13 evil-winrmمدیریت WinRM در لابراتوار Windows

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای مدیریت WinRM در لابراتوار Windows استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install evil-winrm

SYNTAXevil-winrm [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-iمیزبان
-uکاربر
-pرمز
-STLS
-Pپورت
menuراهنما
upload/downloadانتقال

مثال‌های عملی کنترل‌شده

evil-winrm -i TARGET -u testuser -p 'TestPass!'
# menu, upload FILE, download FILE, exit

تشریح خط‌به‌خط فرمان‌ها

  1. evil-winrm -i TARGET -u testuser -p 'TestPass!'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- evil-winrm | tee evil-winrm.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s evil-winrm ARGS > evil-winrm.stdout.log 2> evil-winrm.stderr.log
status=$?; printf 'tool=evil-winrm\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee evil-winrm.meta
sha256sum evil-winrm.stdout.log evil-winrm.stderr.log evil-winrm.meta > evil-winrm.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l evil-winrm.stdout.log evil-winrm.stderr.log
sed -n '1,40p' evil-winrm.stdout.log | tee evil-winrm.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' evil-winrm.stderr.log > evil-winrm.issues.txt || true
sha256sum -c evil-winrm.SHA256SUMS | tee evil-winrm.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.14جدید در دوره impacket-psexecاجرای مدیریتی SMB در VM مجاز

چرا اضافه شد؟ برای اعتبارسنجی مدیریت SMB فقط در VM مجاز

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای اجرای مدیریتی SMB در VM مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install python3-impacket

SYNTAXimpacket-psexec [OPTIONS] IDENTITY@TARGET
زیرفرمان / گزینهکاربرد امنیتی
-codecencoding
-service-nameنام سرویس
-remote-binary-nameنام فایل
-debugدیباگ
-hashesاعتبارنامه مجاز

مثال‌های عملی کنترل‌شده

impacket-psexec 'LAB/admin:TestPass!@TARGET' 'whoami'
impacket-psexec -codec utf-8 'LAB/admin:TestPass!@TARGET' 'hostname'

تشریح خط‌به‌خط فرمان‌ها

  1. impacket-psexec 'LAB/admin:TestPass!@TARGET' 'whoami'فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. impacket-psexec -codec utf-8 'LAB/admin:TestPass!@TARGET' 'hostname'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- impacket-psexec | tee impacket-psexec.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s impacket-psexec ARGS > impacket-psexec.stdout.log 2> impacket-psexec.stderr.log
status=$?; printf 'tool=impacket-psexec\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee impacket-psexec.meta
sha256sum impacket-psexec.stdout.log impacket-psexec.stderr.log impacket-psexec.meta > impacket-psexec.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l impacket-psexec.stdout.log impacket-psexec.stderr.log
sed -n '1,40p' impacket-psexec.stdout.log | tee impacket-psexec.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' impacket-psexec.stderr.log > impacket-psexec.issues.txt || true
sha256sum -c impacket-psexec.SHA256SUMS | tee impacket-psexec.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.15جدید در دوره impacket-wmiexecاجرای WMI نیمه‌تعاملی

چرا اضافه شد؟ برای اجرای محدود WMI با حساب آزمایشی

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای اجرای WMI نیمه‌تعاملی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install python3-impacket

SYNTAXimpacket-wmiexec [OPTIONS] IDENTITY@TARGET [COMMAND]
زیرفرمان / گزینهکاربرد امنیتی
-shell-typecmd/powershell
-shareاشتراک
-nooutputبدون output
-codecencoding
-debugدیباگ

مثال‌های عملی کنترل‌شده

impacket-wmiexec 'LAB/admin:TestPass!@TARGET' 'whoami /all'
impacket-wmiexec -shell-type powershell 'LAB/admin:TestPass!@TARGET' 'Get-Date'

تشریح خط‌به‌خط فرمان‌ها

  1. impacket-wmiexec 'LAB/admin:TestPass!@TARGET' 'whoami /all'فرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. impacket-wmiexec -shell-type powershell 'LAB/admin:TestPass!@TARGET' 'Get-Date'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- impacket-wmiexec | tee impacket-wmiexec.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s impacket-wmiexec ARGS > impacket-wmiexec.stdout.log 2> impacket-wmiexec.stderr.log
status=$?; printf 'tool=impacket-wmiexec\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee impacket-wmiexec.meta
sha256sum impacket-wmiexec.stdout.log impacket-wmiexec.stderr.log impacket-wmiexec.meta > impacket-wmiexec.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l impacket-wmiexec.stdout.log impacket-wmiexec.stderr.log
sed -n '1,40p' impacket-wmiexec.stdout.log | tee impacket-wmiexec.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' impacket-wmiexec.stderr.log > impacket-wmiexec.issues.txt || true
sha256sum -c impacket-wmiexec.SHA256SUMS | tee impacket-wmiexec.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

08.16جدید در دوره regipyتحلیل آفلاین Windows Registry

چرا اضافه شد؟ برای تحلیل آفلاین Windows Registry بدون تغییر میزبان

نقش امنیتی: از این ابزار در مسیر «امنیت Active Directory و Windows» برای تحلیل آفلاین Windows Registry استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: pipx install regipy

SYNTAXregipy-COMMAND [OPTIONS] HIVE
زیرفرمان / گزینهکاربرد امنیتی
regipy-parse-headerheader
regipy-dumpخروجی
regipy-plugins-runplugin
regipy-diffتفاوت
-oخروجی

مثال‌های عملی کنترل‌شده

regipy-parse-header NTUSER.DAT
regipy-dump SYSTEM -o system.json
regipy-plugins-run NTUSER.DAT -o plugins.json
regipy-diff before.dat after.dat -o diff.json

تشریح خط‌به‌خط فرمان‌ها

  1. regipy-parse-header NTUSER.DATفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. regipy-dump SYSTEM -o system.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. regipy-plugins-run NTUSER.DAT -o plugins.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. regipy-diff before.dat after.dat -o diff.jsonگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- regipy | tee regipy.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s regipy ARGS > regipy.stdout.log 2> regipy.stderr.log
status=$?; printf 'tool=regipy\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee regipy.meta
sha256sum regipy.stdout.log regipy.stderr.log regipy.meta > regipy.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l regipy.stdout.log regipy.stderr.log
sed -n '1,40p' regipy.stdout.log | tee regipy.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' regipy.stderr.log > regipy.issues.txt || true
sha256sum -c regipy.SHA256SUMS | tee regipy.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

📶

فصل امنیت 9: امنیت Wi-Fi و Bluetooth

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ فقط روی AP، client و spectrum تحت مالکیت یا مجوز؛ deauth، capture و آزمون PIN می‌تواند سرویس را مختل کند. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. تأیید مالکیت کانال و تجهیزات
  2. capture غیرفعال پیش از هر آزمون فعال
  3. حفظ PCAP و metadata رادیویی

📦 خروجی‌های مورد انتظار

interfaces.txtsurvey.csvcapture.pcapwireless.SHA256SUMS

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 9/10
iw dev | tee interfaces.txt
rfkill list | tee rfkill.txt
sudo airmon-ng check | tee process-check.txt
sudo airmon-ng start wlan0
sudo timeout 60s airodump-ng --write survey --output-format pcap,csv wlan0mon
capinfos survey-01.cap | tee capture-info.txt
sha256sum interfaces.txt rfkill.txt survey-01.cap survey-01.csv capture-info.txt > wireless.SHA256SUMS
sudo airmon-ng stop wlan0mon
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
PCAP=survey-01.cap
capinfos "$PCAP" | tee wireless-capinfos.txt
tshark -r "$PCAP" -Y 'wlan.fc.type_subtype == 8' -T fields -e wlan.sa -e wlan.ssid | sort -u > beacons.tsv
tshark -r "$PCAP" -Y 'eapol' -T fields -e frame.number -e wlan.sa -e wlan.da -e eapol.type > eapol-frames.tsv
tshark -r "$PCAP" -Y 'wlan_mgt.fixed.capabilities.privacy == 0' -T fields -e wlan.bssid -e wlan.ssid | sort -u > open-networks.tsv
airdecap-ng -l "$PCAP" > airdecap-check.txt 2>&1
printf 'bssid\tssid\towner\tchannel\tauthorization\n' > asset-map.tsv
sha256sum "$PCAP" beacons.tsv eapol-frames.tsv open-networks.tsv asset-map.tsv > wireless-advanced.SHA256SUMS

خطاهای رایج

  • فعال‌کردن deauth پیش از capture غیرفعال
  • اشتباه گرفتن SSID مشابه با دارایی تحت مجوز
  • انتشار MAC، SSID یا capture بدون حداقل‌سازی داده

کنترل دفاعی و معیار قبولی

ابتدا asset map و کانال مجاز را بسازید و capture را رمزگذاری و زمان‌دار نگه دارید.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

09.01 iwوضعیت و تنظیم Wi-Fi

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای وضعیت و تنظیم Wi-Fi استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install iw

SYNTAXiw [OPTIONS] OBJECT COMMAND
زیرفرمان / گزینهکاربرد امنیتی
devرابط
phyرادیو
linkاتصال
scanاسکن
infoقابلیت

مثال‌های عملی کنترل‌شده

iw dev
iw dev wlan0 link
iw phy phy0 info

تشریح خط‌به‌خط فرمان‌ها

  1. iw devفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. iw dev wlan0 linkفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. iw phy phy0 infoفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- iw | tee iw.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s iw ARGS > iw.stdout.log 2> iw.stderr.log
status=$?; printf 'tool=iw\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee iw.meta
sha256sum iw.stdout.log iw.stderr.log iw.meta > iw.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l iw.stdout.log iw.stderr.log
sed -n '1,40p' iw.stdout.log | tee iw.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' iw.stderr.log > iw.issues.txt || true
sha256sum -c iw.SHA256SUMS | tee iw.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.02 rfkillکنترل مسدودسازی رادیو

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای کنترل مسدودسازی رادیو استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXrfkill COMMAND [TYPE]
زیرفرمان / گزینهکاربرد امنیتی
listوضعیت
blockمسدود
unblockآزاد
wifi/bluetoothنوع

مثال‌های عملی کنترل‌شده

rfkill list
sudo rfkill unblock wifi

تشریح خط‌به‌خط فرمان‌ها

  1. rfkill listفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. sudo rfkill unblock wifiبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- rfkill | tee rfkill.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s rfkill ARGS > rfkill.stdout.log 2> rfkill.stderr.log
status=$?; printf 'tool=rfkill\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee rfkill.meta
sha256sum rfkill.stdout.log rfkill.stderr.log rfkill.meta > rfkill.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l rfkill.stdout.log rfkill.stderr.log
sed -n '1,40p' rfkill.stdout.log | tee rfkill.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' rfkill.stderr.log > rfkill.issues.txt || true
sha256sum -c rfkill.SHA256SUMS | tee rfkill.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.03 airmon-ngمدیریت monitor mode در لابراتوار

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای مدیریت monitor mode در لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install aircrack-ng

SYNTAXairmon-ng COMMAND INTERFACE
زیرفرمان / گزینهکاربرد امنیتی
checkتداخل
startفعال‌سازی
stopتوقف

مثال‌های عملی کنترل‌شده

sudo airmon-ng check
sudo airmon-ng start wlan0
sudo airmon-ng stop wlan0mon

تشریح خط‌به‌خط فرمان‌ها

  1. sudo airmon-ng checkبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  2. sudo airmon-ng start wlan0با دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  3. sudo airmon-ng stop wlan0monبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- airmon-ng | tee airmon-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s airmon-ng ARGS > airmon-ng.stdout.log 2> airmon-ng.stderr.log
status=$?; printf 'tool=airmon-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee airmon-ng.meta
sha256sum airmon-ng.stdout.log airmon-ng.stderr.log airmon-ng.meta > airmon-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l airmon-ng.stdout.log airmon-ng.stderr.log
sed -n '1,40p' airmon-ng.stdout.log | tee airmon-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' airmon-ng.stderr.log > airmon-ng.issues.txt || true
sha256sum -c airmon-ng.SHA256SUMS | tee airmon-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.04 airodump-ngثبت beacon و ترافیک Wi-Fi مجاز

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای ثبت beacon و ترافیک Wi-Fi مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install aircrack-ng

SYNTAXairodump-ng [OPTIONS] INTERFACE
زیرفرمان / گزینهکاربرد امنیتی
-cکانال
--bssidAP
-wخروجی
--output-formatقالب

مثال‌های عملی کنترل‌شده

sudo airodump-ng wlan0mon
sudo airodump-ng -c 6 --bssid LAB_BSSID -w capture wlan0mon

تشریح خط‌به‌خط فرمان‌ها

  1. sudo airodump-ng wlan0monبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  2. sudo airodump-ng -c 6 --bssid LAB_BSSID -w capture wlan0monبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- airodump-ng | tee airodump-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s airodump-ng ARGS > airodump-ng.stdout.log 2> airodump-ng.stderr.log
status=$?; printf 'tool=airodump-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee airodump-ng.meta
sha256sum airodump-ng.stdout.log airodump-ng.stderr.log airodump-ng.meta > airodump-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l airodump-ng.stdout.log airodump-ng.stderr.log
sed -n '1,40p' airodump-ng.stdout.log | tee airodump-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' airodump-ng.stderr.log > airodump-ng.issues.txt || true
sha256sum -c airodump-ng.SHA256SUMS | tee airodump-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.05 aireplay-ngتزریق بسته در AP آزمایشگاهی

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای تزریق بسته در AP آزمایشگاهی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install aircrack-ng

SYNTAXaireplay-ng MODE [OPTIONS] INTERFACE
زیرفرمان / گزینهکاربرد امنیتی
--testآزمون تزریق
--deauthقطع کنترل‌شده
-aAP
-cclient

مثال‌های عملی کنترل‌شده

sudo aireplay-ng --test wlan0mon
sudo aireplay-ng --deauth 1 -a LAB_BSSID -c LAB_CLIENT wlan0mon

تشریح خط‌به‌خط فرمان‌ها

  1. sudo aireplay-ng --test wlan0monبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo aireplay-ng --deauth 1 -a LAB_BSSID -c LAB_CLIENT wlan0monبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- aireplay-ng | tee aireplay-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s aireplay-ng ARGS > aireplay-ng.stdout.log 2> aireplay-ng.stderr.log
status=$?; printf 'tool=aireplay-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee aireplay-ng.meta
sha256sum aireplay-ng.stdout.log aireplay-ng.stderr.log aireplay-ng.meta > aireplay-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l aireplay-ng.stdout.log aireplay-ng.stderr.log
sed -n '1,40p' aireplay-ng.stdout.log | tee aireplay-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' aireplay-ng.stderr.log > aireplay-ng.issues.txt || true
sha256sum -c aireplay-ng.SHA256SUMS | tee aireplay-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.06 aircrack-ngبررسی قدرت گذرواژه capture خودتان

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای بررسی قدرت گذرواژه capture خودتان استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install aircrack-ng

SYNTAXaircrack-ng [OPTIONS] CAPTURE
زیرفرمان / گزینهکاربرد امنیتی
-wواژه‌نامه
-bBSSID
-eESSID
-qساکت

مثال‌های عملی کنترل‌شده

aircrack-ng capture-01.cap
aircrack-ng -w lab-words.txt -b LAB_BSSID capture-01.cap

تشریح خط‌به‌خط فرمان‌ها

  1. aircrack-ng capture-01.capفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. aircrack-ng -w lab-words.txt -b LAB_BSSID capture-01.capگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- aircrack-ng | tee aircrack-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s aircrack-ng ARGS > aircrack-ng.stdout.log 2> aircrack-ng.stderr.log
status=$?; printf 'tool=aircrack-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee aircrack-ng.meta
sha256sum aircrack-ng.stdout.log aircrack-ng.stderr.log aircrack-ng.meta > aircrack-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l aircrack-ng.stdout.log aircrack-ng.stderr.log
sed -n '1,40p' aircrack-ng.stdout.log | tee aircrack-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' aircrack-ng.stderr.log > aircrack-ng.issues.txt || true
sha256sum -c aircrack-ng.SHA256SUMS | tee aircrack-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.07 airdecap-ngرمزگشایی capture با کلید مجاز

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای رمزگشایی capture با کلید مجاز استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install aircrack-ng

SYNTAXairdecap-ng [OPTIONS] CAPTURE
زیرفرمان / گزینهکاربرد امنیتی
-eESSID
-pگذرواژه
-bBSSID
-wکلید WEP

مثال‌های عملی کنترل‌شده

airdecap-ng -e LAB_SSID -p LAB_PASSWORD capture.cap

تشریح خط‌به‌خط فرمان‌ها

  1. airdecap-ng -e LAB_SSID -p LAB_PASSWORD capture.capگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- airdecap-ng | tee airdecap-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s airdecap-ng ARGS > airdecap-ng.stdout.log 2> airdecap-ng.stderr.log
status=$?; printf 'tool=airdecap-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee airdecap-ng.meta
sha256sum airdecap-ng.stdout.log airdecap-ng.stderr.log airdecap-ng.meta > airdecap-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l airdecap-ng.stdout.log airdecap-ng.stderr.log
sed -n '1,40p' airdecap-ng.stdout.log | tee airdecap-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' airdecap-ng.stderr.log > airdecap-ng.issues.txt || true
sha256sum -c airdecap-ng.SHA256SUMS | tee airdecap-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.08 washکشف WPS در لابراتوار

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای کشف WPS در لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install reaver

SYNTAXwash [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-iرابط
-cکانال
-jJSON
-sاسکن فعال

مثال‌های عملی کنترل‌شده

sudo wash -i wlan0mon -j
sudo wash -i wlan0mon -c 6

تشریح خط‌به‌خط فرمان‌ها

  1. sudo wash -i wlan0mon -jبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo wash -i wlan0mon -c 6با دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- wash | tee wash.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s wash ARGS > wash.stdout.log 2> wash.stderr.log
status=$?; printf 'tool=wash\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee wash.meta
sha256sum wash.stdout.log wash.stderr.log wash.meta > wash.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l wash.stdout.log wash.stderr.log
sed -n '1,40p' wash.stdout.log | tee wash.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' wash.stderr.log > wash.issues.txt || true
sha256sum -c wash.SHA256SUMS | tee wash.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.09 reaverممیزی WPS روی روتر آزمایشگاهی

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای ممیزی WPS روی روتر آزمایشگاهی استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install reaver

SYNTAXreaver [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-iرابط
-bBSSID
-cکانال
-vvجزئیات
-K/--pixie-dustآزمون

مثال‌های عملی کنترل‌شده

sudo reaver -i wlan0mon -b LAB_BSSID -c 6 -vv --pixie-dust

تشریح خط‌به‌خط فرمان‌ها

  1. sudo reaver -i wlan0mon -b LAB_BSSID -c 6 -vv --pixie-dustبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- reaver | tee reaver.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s reaver ARGS > reaver.stdout.log 2> reaver.stderr.log
status=$?; printf 'tool=reaver\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee reaver.meta
sha256sum reaver.stdout.log reaver.stderr.log reaver.meta > reaver.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l reaver.stdout.log reaver.stderr.log
sed -n '1,40p' reaver.stdout.log | tee reaver.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' reaver.stderr.log > reaver.issues.txt || true
sha256sum -c reaver.SHA256SUMS | tee reaver.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.10 wifiteهماهنگ‌کننده ممیزی Wi-Fi

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای هماهنگ‌کننده ممیزی Wi-Fi استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install wifite

SYNTAXwifite [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
--killتوقف تداخل
--dictواژه‌نامه
--mac-anonymizeناشناس‌سازی
--showbنمایش BSSID

مثال‌های عملی کنترل‌شده

sudo wifite --kill --dict lab-words.txt --mac-anonymize

تشریح خط‌به‌خط فرمان‌ها

  1. sudo wifite --kill --dict lab-words.txt --mac-anonymizeبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- wifite | tee wifite.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s wifite ARGS > wifite.stdout.log 2> wifite.stderr.log
status=$?; printf 'tool=wifite\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee wifite.meta
sha256sum wifite.stdout.log wifite.stderr.log wifite.meta > wifite.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l wifite.stdout.log wifite.stderr.log
sed -n '1,40p' wifite.stdout.log | tee wifite.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' wifite.stderr.log > wifite.issues.txt || true
sha256sum -c wifite.SHA256SUMS | tee wifite.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.11 bettercapچارچوب مشاهده شبکه محلی لابراتوار

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای چارچوب مشاهده شبکه محلی لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install bettercap

SYNTAXbettercap [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-ifaceرابط
-capletسناریو
helpراهنما
net.showدارایی‌ها
events.streamرویداد

مثال‌های عملی کنترل‌شده

sudo bettercap -iface eth0
net.probe on
net.show
events.stream on

تشریح خط‌به‌خط فرمان‌ها

  1. sudo bettercap -iface eth0با دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. net.probe onفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. net.showفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  4. events.stream onفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- bettercap | tee bettercap.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s bettercap ARGS > bettercap.stdout.log 2> bettercap.stderr.log
status=$?; printf 'tool=bettercap\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee bettercap.meta
sha256sum bettercap.stdout.log bettercap.stderr.log bettercap.meta > bettercap.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l bettercap.stdout.log bettercap.stderr.log
sed -n '1,40p' bettercap.stdout.log | tee bettercap.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' bettercap.stderr.log > bettercap.issues.txt || true
sha256sum -c bettercap.SHA256SUMS | tee bettercap.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.12 bluetoothctlمدیریت Bluetooth

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای مدیریت Bluetooth استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install bluez

SYNTAXbluetoothctl [COMMAND]
زیرفرمان / گزینهکاربرد امنیتی
showآداپتور
scanاسکن
devicesدستگاه‌ها
infoجزئیات
pairجفت‌سازی

مثال‌های عملی کنترل‌شده

bluetoothctl show
bluetoothctl scan on
bluetoothctl devices
bluetoothctl info DEVICE

تشریح خط‌به‌خط فرمان‌ها

  1. bluetoothctl showفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. bluetoothctl scan onفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  3. bluetoothctl devicesفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  4. bluetoothctl info DEVICEفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- bluetoothctl | tee bluetoothctl.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s bluetoothctl ARGS > bluetoothctl.stdout.log 2> bluetoothctl.stderr.log
status=$?; printf 'tool=bluetoothctl\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee bluetoothctl.meta
sha256sum bluetoothctl.stdout.log bluetoothctl.stderr.log bluetoothctl.meta > bluetoothctl.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l bluetoothctl.stdout.log bluetoothctl.stderr.log
sed -n '1,40p' bluetoothctl.stdout.log | tee bluetoothctl.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' bluetoothctl.stderr.log > bluetoothctl.issues.txt || true
sha256sum -c bluetoothctl.SHA256SUMS | tee bluetoothctl.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.13 btmgmtمدیریت سطح پایین Bluetooth

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای مدیریت سطح پایین Bluetooth استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install bluez

SYNTAXbtmgmt [OPTIONS] COMMAND
زیرفرمان / گزینهکاربرد امنیتی
infoاطلاعات
findکشف
powerتوان
connectاتصال
pairجفت‌سازی

مثال‌های عملی کنترل‌شده

sudo btmgmt info
sudo btmgmt find
sudo btmgmt power on

تشریح خط‌به‌خط فرمان‌ها

  1. sudo btmgmt infoبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  2. sudo btmgmt findبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.
  3. sudo btmgmt power onبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- btmgmt | tee btmgmt.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s btmgmt ARGS > btmgmt.stdout.log 2> btmgmt.stderr.log
status=$?; printf 'tool=btmgmt\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee btmgmt.meta
sha256sum btmgmt.stdout.log btmgmt.stderr.log btmgmt.meta > btmgmt.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l btmgmt.stdout.log btmgmt.stderr.log
sed -n '1,40p' btmgmt.stdout.log | tee btmgmt.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' btmgmt.stderr.log > btmgmt.issues.txt || true
sha256sum -c btmgmt.SHA256SUMS | tee btmgmt.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.14جدید در دوره tsharkتحلیل خط فرمان Wireshark

چرا اضافه شد؟ برای فیلتر و استخراج فیلدهای capture بی‌سیم

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای تحلیل خط فرمان Wireshark استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install tshark

SYNTAXtshark [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-rخواندن
-iرابط
-Ydisplay filter
-fcapture filter
-Tقالب
-eفیلد
-zآمار

مثال‌های عملی کنترل‌شده

tshark -r capture.pcap -q -z conv,tcp
tshark -r capture.pcap -Y 'http.request' -T fields -e ip.src -e http.host -e http.request.uri

تشریح خط‌به‌خط فرمان‌ها

  1. tshark -r capture.pcap -q -z conv,tcpگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. tshark -r capture.pcap -Y 'http.request' -T fields -e ip.src -e http.host -e http.request.uriگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- tshark | tee tshark.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s tshark ARGS > tshark.stdout.log 2> tshark.stderr.log
status=$?; printf 'tool=tshark\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee tshark.meta
sha256sum tshark.stdout.log tshark.stderr.log tshark.meta > tshark.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l tshark.stdout.log tshark.stderr.log
sed -n '1,40p' tshark.stdout.log | tee tshark.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' tshark.stderr.log > tshark.issues.txt || true
sha256sum -c tshark.SHA256SUMS | tee tshark.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.15جدید در دوره scapyساخت و تحلیل بسته با Python

چرا اضافه شد؟ برای تحلیل و ساخت packet در لابراتوار ایزوله

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای ساخت و تحلیل بسته با Python استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install python3-scapy

SYNTAXscapy
زیرفرمان / گزینهکاربرد امنیتی
rdpcapخواندن
wrpcapنوشتن
sniffثبت
send/sendpارسال در لابراتوار
showجزئیات

مثال‌های عملی کنترل‌شده

scapy
>>> pkts = rdpcap('capture.pcap')
>>> pkts.summary()
>>> pkts[0].show()

تشریح خط‌به‌خط فرمان‌ها

  1. scapyفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. >>> pkts = rdpcap('capture.pcap')خروجی را بدون پاک‌کردن داده قبلی به فایل اضافه می‌کند.
  3. >>> pkts.summary()خروجی را بدون پاک‌کردن داده قبلی به فایل اضافه می‌کند.
  4. >>> pkts[0].show()خروجی را بدون پاک‌کردن داده قبلی به فایل اضافه می‌کند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- scapy | tee scapy.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s scapy ARGS > scapy.stdout.log 2> scapy.stderr.log
status=$?; printf 'tool=scapy\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee scapy.meta
sha256sum scapy.stdout.log scapy.stderr.log scapy.meta > scapy.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l scapy.stdout.log scapy.stderr.log
sed -n '1,40p' scapy.stdout.log | tee scapy.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' scapy.stderr.log > scapy.issues.txt || true
sha256sum -c scapy.SHA256SUMS | tee scapy.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

09.16جدید در دوره netsniff-ngثبت بسته با کارایی بالا

چرا اضافه شد؟ برای capture پرسرعت و بررسی جریان شبکه

نقش امنیتی: از این ابزار در مسیر «امنیت Wi-Fi و Bluetooth» برای ثبت بسته با کارایی بالا استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install netsniff-ng

SYNTAXnetsniff-ng [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
--inورودی
--outخروجی
--filterفیلتر
--numتعداد

مثال‌های عملی کنترل‌شده

sudo netsniff-ng --in eth0 --out capture.pcap --filter 'host TARGET'
sudo netsniff-ng --in capture.pcap --out /dev/null

تشریح خط‌به‌خط فرمان‌ها

  1. sudo netsniff-ng --in eth0 --out capture.pcap --filter 'host TARGET'با دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. sudo netsniff-ng --in capture.pcap --out /dev/nullبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- netsniff-ng | tee netsniff-ng.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s netsniff-ng ARGS > netsniff-ng.stdout.log 2> netsniff-ng.stderr.log
status=$?; printf 'tool=netsniff-ng\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee netsniff-ng.meta
sha256sum netsniff-ng.stdout.log netsniff-ng.stderr.log netsniff-ng.meta > netsniff-ng.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l netsniff-ng.stdout.log netsniff-ng.stderr.log
sed -n '1,40p' netsniff-ng.stdout.log | tee netsniff-ng.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' netsniff-ng.stderr.log > netsniff-ng.issues.txt || true
sha256sum -c netsniff-ng.SHA256SUMS | tee netsniff-ng.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

🧬

فصل امنیت 10: تحلیل ترافیک، فارنزیک و گزارش

۱۶ ابزار · ۳ ابزار جدید · فرمان و مثال · مسیر مرحله‌ای
⚖️ اصل داده را دست‌نخورده نگه دارید، روی کپی کار کنید، chain of custody و hash بسازید و یافته را با شاهد قابل بازتولید گزارش دهید. تمام فرمان‌ها فقط برای سیستم خودتان، CTF، لابراتوار یا ارزیابی دارای مجوز کتبی‌اند.

🎯 اهداف یادگیری

  1. حفظ اصل و تحلیل روی کپی
  2. ساخت timeline و استخراج indicator
  3. تولید گزارش قابل بازتولید با hash

📦 خروجی‌های مورد انتظار

capture-info.txtconnections.tsvindicators.txtreport.html

معیار پایان: فرمان‌ها بدون خروج از scope اجرا شده، خطاها ثبت شده و hash خروجی خام قابل تأیید باشد.

🧰 لابراتوار زنجیره‌ای فصل

فرمان‌ها را به‌ترتیب اجرا کنید؛ مقدارهای مستنداتی را فقط با هدف مجاز جایگزین کنید.

Workflow 10/10
cp --reflink=auto capture.pcap working.pcap
sha256sum capture.pcap working.pcap | tee pcap.SHA256SUMS
capinfos working.pcap | tee capture-info.txt
tshark -r working.pcap -T fields -e frame.time_epoch -e ip.src -e ip.dst -e _ws.col.Protocol > connections.tsv
mkdir -p zeek-out && cd zeek-out && zeek -r ../working.pcap && cd ..
yara -r rules/ evidence/ | tee yara-hits.txt
vol -f memory.raw windows.info > memory-info.txt
pandoc report.md --toc --standalone -o report.html
sha256sum connections.tsv yara-hits.txt memory-info.txt report.html > dfir.SHA256SUMS
روش ارزیابی نتیجه
  • وجود و غیرخالی‌بودن فایل‌های خروجی را بررسی کنید.
  • stderr و exit code هر مرحله را در گزارش نگه دارید.
  • یافته مثبت را با منبع دوم یا بررسی دستی کم‌خطر تأیید کنید.
  • در پایان، manifest هش و محدودیت‌های آزمون را ضمیمه کنید.

🚀 تمرین پیشرفته و تحلیل چندابزاری

نسخه تکمیلی فصل با chaining، redirection، نرمال‌سازی و manifest خروجی.

Advanced
PCAP=working.pcap
tshark -r "$PCAP" -q -z io,phs | tee protocol-hierarchy.txt
tshark -r "$PCAP" -q -z conv,ip | tee ip-conversations.txt
tshark -r "$PCAP" -Y 'dns.qry.name' -T fields -e frame.time_epoch -e ip.src -e dns.qry.name | sort -u > dns-timeline.tsv
zeek-cut ts id.orig_h id.resp_h service < zeek-out/conn.log | sort -n > connection-timeline.tsv
{ cat dns-timeline.tsv; cat connection-timeline.tsv; } | sort -n > combined-timeline.tsv
yara -r -m rules/ evidence/ | tee yara-metadata.txt
pandoc report.md --metadata title='DFIR Lab Report' --toc --standalone -o report.html
sha256sum protocol-hierarchy.txt ip-conversations.txt *timeline.tsv yara-metadata.txt report.html > dfir-advanced.SHA256SUMS

خطاهای رایج

  • تحلیل مستقیم تنها نسخه شاهد
  • ساخت timeline بدون timezone و clock drift
  • حذف نتایج منفی و محدودیت‌های ابزار از گزارش

کنترل دفاعی و معیار قبولی

زمان، hash، نسخه ابزار، query و زنجیره نگهداری را برای هر artifact ثبت کنید.

  • تمام هدف‌ها داخل scope باشند.
  • فایل‌های خام، خطا و exit code حفظ شوند.
  • حداقل یک تأیید مستقل برای نتیجه مثبت وجود داشته باشد.

10.01 tcpdumpثبت بسته با فیلتر BPF

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای ثبت بسته با فیلتر BPF استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install tcpdump

SYNTAXtcpdump [OPTIONS] [FILTER]
زیرفرمان / گزینهکاربرد امنیتی
-iرابط
-nnبدون resolve
-s0کل بسته
-wنوشتن
-rخواندن
-cتعداد

مثال‌های عملی کنترل‌شده

sudo tcpdump -i eth0 -nn -s0 -w capture.pcap 'host TARGET'
tcpdump -r capture.pcap -nn 'tcp port 443'

تشریح خط‌به‌خط فرمان‌ها

  1. sudo tcpdump -i eth0 -nn -s0 -w capture.pcap 'host TARGET'با دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. tcpdump -r capture.pcap -nn 'tcp port 443'گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- tcpdump | tee tcpdump.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s tcpdump ARGS > tcpdump.stdout.log 2> tcpdump.stderr.log
status=$?; printf 'tool=tcpdump\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee tcpdump.meta
sha256sum tcpdump.stdout.log tcpdump.stderr.log tcpdump.meta > tcpdump.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l tcpdump.stdout.log tcpdump.stderr.log
sed -n '1,40p' tcpdump.stdout.log | tee tcpdump.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' tcpdump.stderr.log > tcpdump.issues.txt || true
sha256sum -c tcpdump.SHA256SUMS | tee tcpdump.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.02 tsharkتحلیل خط فرمان Wireshark

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

نصب: sudo apt install tshark

SYNTAXtshark [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-rخواندن
-iرابط
-Ydisplay filter
-fcapture filter
-Tقالب
-eفیلد
-zآمار

مثال‌های عملی کنترل‌شده

tshark -r capture.pcap -q -z conv,tcp
tshark -r capture.pcap -Y 'http.request' -T fields -e ip.src -e http.host -e http.request.uri

تشریح خط‌به‌خط فرمان‌ها

  1. tshark -r capture.pcap -q -z conv,tcpگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. tshark -r capture.pcap -Y 'http.request' -T fields -e ip.src -e http.host -e http.request.uriگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- tshark | tee tshark.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s tshark ARGS > tshark.stdout.log 2> tshark.stderr.log
status=$?; printf 'tool=tshark\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee tshark.meta
sha256sum tshark.stdout.log tshark.stderr.log tshark.meta > tshark.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l tshark.stdout.log tshark.stderr.log
sed -n '1,40p' tshark.stdout.log | tee tshark.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' tshark.stderr.log > tshark.issues.txt || true
sha256sum -c tshark.SHA256SUMS | tee tshark.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.03 wiresharkتحلیل گرافیکی پروتکل

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای تحلیل گرافیکی پروتکل استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install wireshark

SYNTAXwireshark [OPTIONS] [FILE]
زیرفرمان / گزینهکاربرد امنیتی
-rفایل
-kشروع فوری
-iرابط
-Ydisplay filter

مثال‌های عملی کنترل‌شده

wireshark capture.pcap
wireshark -k -i eth0

تشریح خط‌به‌خط فرمان‌ها

  1. wireshark capture.pcapفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. wireshark -k -i eth0گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- wireshark | tee wireshark.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s wireshark ARGS > wireshark.stdout.log 2> wireshark.stderr.log
status=$?; printf 'tool=wireshark\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee wireshark.meta
sha256sum wireshark.stdout.log wireshark.stderr.log wireshark.meta > wireshark.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l wireshark.stdout.log wireshark.stderr.log
sed -n '1,40p' wireshark.stdout.log | tee wireshark.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' wireshark.stderr.log > wireshark.issues.txt || true
sha256sum -c wireshark.SHA256SUMS | tee wireshark.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.04 editcapبرش و تبدیل capture

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای برش و تبدیل capture استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install wireshark-common

SYNTAXeditcap [OPTIONS] IN OUT
زیرفرمان / گزینهکاربرد امنیتی
-cبسته در فایل
-Aشروع
-Bپایان
-Fقالب
-dحذف تکرار

مثال‌های عملی کنترل‌شده

editcap -c 10000 capture.pcap chunk.pcap
editcap -A '2026-10-01 10:00:00' -B '2026-10-01 10:10:00' in.pcap out.pcap

تشریح خط‌به‌خط فرمان‌ها

  1. editcap -c 10000 capture.pcap chunk.pcapگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. editcap -A '2026-10-01 10:00:00' -B '2026-10-01 10:10:00' in.pcap out.pcapگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- editcap | tee editcap.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s editcap ARGS > editcap.stdout.log 2> editcap.stderr.log
status=$?; printf 'tool=editcap\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee editcap.meta
sha256sum editcap.stdout.log editcap.stderr.log editcap.meta > editcap.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l editcap.stdout.log editcap.stderr.log
sed -n '1,40p' editcap.stdout.log | tee editcap.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' editcap.stderr.log > editcap.issues.txt || true
sha256sum -c editcap.SHA256SUMS | tee editcap.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.05 mergecapادغام captureها

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای ادغام captureها استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install wireshark-common

SYNTAXmergecap [OPTIONS] -w OUT INPUTS
زیرفرمان / گزینهکاربرد امنیتی
-wخروجی
-aappend
-Fقالب
-Imerge IDB

مثال‌های عملی کنترل‌شده

mergecap -w merged.pcap part1.pcap part2.pcap
mergecap -a -w appended.pcap *.pcap

تشریح خط‌به‌خط فرمان‌ها

  1. mergecap -w merged.pcap part1.pcap part2.pcapگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. mergecap -a -w appended.pcap *.pcapگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- mergecap | tee mergecap.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s mergecap ARGS > mergecap.stdout.log 2> mergecap.stderr.log
status=$?; printf 'tool=mergecap\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee mergecap.meta
sha256sum mergecap.stdout.log mergecap.stderr.log mergecap.meta > mergecap.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l mergecap.stdout.log mergecap.stderr.log
sed -n '1,40p' mergecap.stdout.log | tee mergecap.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' mergecap.stderr.log > mergecap.issues.txt || true
sha256sum -c mergecap.SHA256SUMS | tee mergecap.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.06 capinfosمشخصات capture

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای مشخصات capture استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install wireshark-common

SYNTAXcapinfos [OPTIONS] FILE
زیرفرمان / گزینهکاربرد امنیتی
-Tجدول
-mجداکننده comma
-cتعداد
-aزمان شروع
-eپایان

مثال‌های عملی کنترل‌شده

capinfos capture.pcap
capinfos -Tm capture.pcap > capture.csv

تشریح خط‌به‌خط فرمان‌ها

  1. capinfos capture.pcapفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. capinfos -Tm capture.pcap > capture.csvخروجی را در فایل ثبت می‌کند؛ پیش از بازنویسی مسیر را بررسی کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- capinfos | tee capinfos.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s capinfos ARGS > capinfos.stdout.log 2> capinfos.stderr.log
status=$?; printf 'tool=capinfos\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee capinfos.meta
sha256sum capinfos.stdout.log capinfos.stderr.log capinfos.meta > capinfos.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l capinfos.stdout.log capinfos.stderr.log
sed -n '1,40p' capinfos.stdout.log | tee capinfos.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' capinfos.stderr.log > capinfos.issues.txt || true
sha256sum -c capinfos.SHA256SUMS | tee capinfos.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.07 zeekتبدیل ترافیک به لاگ ساختاریافته

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای تبدیل ترافیک به لاگ ساختاریافته استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install zeek

SYNTAXzeek [OPTIONS] [SCRIPT]
زیرفرمان / گزینهکاربرد امنیتی
-rpcap
-Cنادیده‌گرفتن checksum
-eکد
LogAscii::use_jsonT=JSON

مثال‌های عملی کنترل‌شده

mkdir zeek-out && cd zeek-out
zeek -r ../capture.pcap
zeek-cut id.orig_h id.resp_h service < conn.log

تشریح خط‌به‌خط فرمان‌ها

  1. mkdir zeek-out && cd zeek-outفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. zeek -r ../capture.pcapگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. zeek-cut id.orig_h id.resp_h service < conn.logفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- zeek | tee zeek.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s zeek ARGS > zeek.stdout.log 2> zeek.stderr.log
status=$?; printf 'tool=zeek\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee zeek.meta
sha256sum zeek.stdout.log zeek.stderr.log zeek.meta > zeek.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l zeek.stdout.log zeek.stderr.log
sed -n '1,40p' zeek.stdout.log | tee zeek.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' zeek.stderr.log > zeek.issues.txt || true
sha256sum -c zeek.SHA256SUMS | tee zeek.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.08 sha256sumهش و تمامیت شواهد

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای هش و تمامیت شواهد استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXsha256sum [OPTIONS] FILE
زیرفرمان / گزینهکاربرد امنیتی
-cبررسی
-bباینری
--tagقالب BSD
--ignore-missingنادیده‌گرفتن غایب

مثال‌های عملی کنترل‌شده

sha256sum evidence.img | tee evidence.img.sha256
sha256sum -c evidence.img.sha256

تشریح خط‌به‌خط فرمان‌ها

  1. sha256sum evidence.img | tee evidence.img.sha256خروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید.
  2. sha256sum -c evidence.img.sha256گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- sha256sum | tee sha256sum.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s sha256sum ARGS > sha256sum.stdout.log 2> sha256sum.stderr.log
status=$?; printf 'tool=sha256sum\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee sha256sum.meta
sha256sum sha256sum.stdout.log sha256sum.stderr.log sha256sum.meta > sha256sum.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l sha256sum.stdout.log sha256sum.stderr.log
sed -n '1,40p' sha256sum.stdout.log | tee sha256sum.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' sha256sum.stderr.log > sha256sum.issues.txt || true
sha256sum -c sha256sum.SHA256SUMS | tee sha256sum.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.09 fileتشخیص نوع فایل

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای تشخیص نوع فایل استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXfile [OPTIONS] FILE
زیرفرمان / گزینهکاربرد امنیتی
-kادامه تطبیق
-iMIME
-zداخل فایل فشرده
-Lدنبال‌کردن لینک

مثال‌های عملی کنترل‌شده

file suspicious.bin
file -k -i sample.dat
file -z archive.gz

تشریح خط‌به‌خط فرمان‌ها

  1. file suspicious.binفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.
  2. file -k -i sample.datگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. file -z archive.gzگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- file | tee file.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s file ARGS > file.stdout.log 2> file.stderr.log
status=$?; printf 'tool=file\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee file.meta
sha256sum file.stdout.log file.stderr.log file.meta > file.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l file.stdout.log file.stderr.log
sed -n '1,40p' file.stdout.log | tee file.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' file.stderr.log > file.issues.txt || true
sha256sum -c file.SHA256SUMS | tee file.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.10 stringsاستخراج رشته از باینری

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای استخراج رشته از باینری استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: پیش‌فرض سیستم

SYNTAXstrings [OPTIONS] FILE
زیرفرمان / گزینهکاربرد امنیتی
-aهمه فایل
-nحد طول
-toffset
-eencoding

مثال‌های عملی کنترل‌شده

strings -a -n 8 suspicious.bin | less
strings -el memory.raw | grep -i password

تشریح خط‌به‌خط فرمان‌ها

  1. strings -a -n 8 suspicious.bin | lessخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. strings -el memory.raw | grep -i passwordخروجی یک مرحله را به ورودی مرحله بعد می‌دهد؛ pipefail را برای تشخیص شکست فعال کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- strings | tee strings.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s strings ARGS > strings.stdout.log 2> strings.stderr.log
status=$?; printf 'tool=strings\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee strings.meta
sha256sum strings.stdout.log strings.stderr.log strings.meta > strings.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l strings.stdout.log strings.stderr.log
sed -n '1,40p' strings.stdout.log | tee strings.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' strings.stderr.log > strings.issues.txt || true
sha256sum -c strings.SHA256SUMS | tee strings.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.11 volatility3تحلیل حافظه

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای تحلیل حافظه استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install volatility3

SYNTAXvol -f MEMORY PLUGIN
زیرفرمان / گزینهکاربرد امنیتی
windows.infoمشخصات
pslistپردازش
netscanشبکه
cmdlineفرمان
filescanفایل
malfindناحیه مشکوک

مثال‌های عملی کنترل‌شده

vol -f memory.raw windows.info
vol -f memory.raw windows.pslist
vol -f memory.raw windows.netscan
vol -f memory.raw windows.cmdline

تشریح خط‌به‌خط فرمان‌ها

  1. vol -f memory.raw windows.infoگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. vol -f memory.raw windows.pslistگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  3. vol -f memory.raw windows.netscanگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  4. vol -f memory.raw windows.cmdlineگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- volatility3 | tee volatility3.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s volatility3 ARGS > volatility3.stdout.log 2> volatility3.stderr.log
status=$?; printf 'tool=volatility3\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee volatility3.meta
sha256sum volatility3.stdout.log volatility3.stderr.log volatility3.meta > volatility3.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l volatility3.stdout.log volatility3.stderr.log
sed -n '1,40p' volatility3.stdout.log | tee volatility3.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' volatility3.stderr.log > volatility3.issues.txt || true
sha256sum -c volatility3.SHA256SUMS | tee volatility3.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.12 yaraتطبیق rule روی فایل‌ها

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

نصب: sudo apt install yara

SYNTAXyara [OPTIONS] RULES TARGET
زیرفرمان / گزینهکاربرد امنیتی
-rبازگشتی
-sرشته تطبیق
-mmetadata
-ttag
-dمتغیر

مثال‌های عملی کنترل‌شده

yara -r rules/index.yar samples/
yara -s -m rule.yar suspicious.bin

تشریح خط‌به‌خط فرمان‌ها

  1. yara -r rules/index.yar samples/گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. yara -s -m rule.yar suspicious.binگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- yara | tee yara.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s yara ARGS > yara.stdout.log 2> yara.stderr.log
status=$?; printf 'tool=yara\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee yara.meta
sha256sum yara.stdout.log yara.stderr.log yara.meta > yara.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l yara.stdout.log yara.stderr.log
sed -n '1,40p' yara.stdout.log | tee yara.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' yara.stderr.log > yara.issues.txt || true
sha256sum -c yara.SHA256SUMS | tee yara.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.13 pandocتبدیل گزارش Markdown

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای تبدیل گزارش Markdown استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install pandoc

SYNTAXpandoc [OPTIONS] INPUT
زیرفرمان / گزینهکاربرد امنیتی
-oخروجی
--standaloneسند کامل
--tocفهرست
--templateقالب
--metadataمتادیتا

مثال‌های عملی کنترل‌شده

pandoc report.md -o report.html --standalone
pandoc report.md -o report.docx --toc

تشریح خط‌به‌خط فرمان‌ها

  1. pandoc report.md -o report.html --standaloneگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. pandoc report.md -o report.docx --tocگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- pandoc | tee pandoc.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s pandoc ARGS > pandoc.stdout.log 2> pandoc.stderr.log
status=$?; printf 'tool=pandoc\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee pandoc.meta
sha256sum pandoc.stdout.log pandoc.stderr.log pandoc.meta > pandoc.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l pandoc.stdout.log pandoc.stderr.log
sed -n '1,40p' pandoc.stdout.log | tee pandoc.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' pandoc.stderr.log > pandoc.issues.txt || true
sha256sum -c pandoc.SHA256SUMS | tee pandoc.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.14جدید در دوره suricataIDS روی pcap یا رابط لابراتوار

چرا اضافه شد؟ برای تولید alert و EVE JSON از PCAP آفلاین

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای IDS روی pcap یا رابط لابراتوار استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install suricata

SYNTAXsuricata [OPTIONS]
زیرفرمان / گزینهکاربرد امنیتی
-rpcap
-iرابط
-lپوشه لاگ
-Srule file
-Tآزمون پیکربندی

مثال‌های عملی کنترل‌شده

sudo suricata -r capture.pcap -l suricata-out
jq 'select(.event_type=="alert")' suricata-out/eve.json

تشریح خط‌به‌خط فرمان‌ها

  1. sudo suricata -r capture.pcap -l suricata-outبا دسترسی مدیریتی اجرا می‌شود؛ دلیل نیاز به privilege را ثبت کنید؛ گزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. jq 'select(.event_type=="alert")' suricata-out/eve.jsonفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- suricata | tee suricata.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s suricata ARGS > suricata.stdout.log 2> suricata.stderr.log
status=$?; printf 'tool=suricata\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee suricata.meta
sha256sum suricata.stdout.log suricata.stderr.log suricata.meta > suricata.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l suricata.stdout.log suricata.stderr.log
sed -n '1,40p' suricata.stdout.log | tee suricata.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' suricata.stderr.log > suricata.issues.txt || true
sha256sum -c suricata.SHA256SUMS | tee suricata.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.15جدید در دوره bulk_extractorاستخراج artefact بدون filesystem

چرا اضافه شد؟ برای استخراج feature از image بدون mount

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای استخراج artefact بدون filesystem استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install bulk-extractor

SYNTAXbulk_extractor [OPTIONS] IMAGE
زیرفرمان / گزینهکاربرد امنیتی
-oخروجی
-Eفعال‌سازی scanner
-xغیرفعال‌سازی
-jthread
-Rدایرکتوری

مثال‌های عملی کنترل‌شده

bulk_extractor -o bulk-out evidence.img
bulk_extractor -E email -E url -o selected evidence.img

تشریح خط‌به‌خط فرمان‌ها

  1. bulk_extractor -o bulk-out evidence.imgگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.
  2. bulk_extractor -E email -E url -o selected evidence.imgگزینه‌ها دامنه، قالب یا رفتار فرمان را کنترل می‌کنند.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- bulk_extractor | tee bulk_extractor.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s bulk_extractor ARGS > bulk_extractor.stdout.log 2> bulk_extractor.stderr.log
status=$?; printf 'tool=bulk_extractor\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee bulk_extractor.meta
sha256sum bulk_extractor.stdout.log bulk_extractor.stderr.log bulk_extractor.meta > bulk_extractor.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l bulk_extractor.stdout.log bulk_extractor.stderr.log
sed -n '1,40p' bulk_extractor.stdout.log | tee bulk_extractor.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' bulk_extractor.stderr.log > bulk_extractor.issues.txt || true
sha256sum -c bulk_extractor.SHA256SUMS | tee bulk_extractor.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.

10.16جدید در دوره autopsyرابط گرافیکی Sleuth Kit

چرا اضافه شد؟ برای مدیریت پرونده و تحلیل timeline گرافیکی

نقش امنیتی: از این ابزار در مسیر «تحلیل ترافیک، فارنزیک و گزارش» برای رابط گرافیکی Sleuth Kit استفاده می‌شود. ابتدا ورودی و محدوده را مشخص کنید، سپس خروجی را ذخیره و پیش از اقدام بعدی اعتبارسنجی کنید.

نصب: sudo apt install autopsy

SYNTAXautopsy
زیرفرمان / گزینهکاربرد امنیتی
New Caseپرونده
Add Imageافزودن image
File Analysisفایل‌ها
Keyword Searchجست‌وجو
Timelineزمان‌بندی

مثال‌های عملی کنترل‌شده

autopsy
# New Case → Add Host → Add Image → Analyze

تشریح خط‌به‌خط فرمان‌ها

  1. autopsyفرمان را با ورودی آزمایشگاهی اجرا و exit code و خروجی آن را ثبت کنید.

اجرای قابل حسابرسی و اتصال به مرحله بعد

command -v -- autopsy | tee autopsy.path
# فرمان مجاز بالا را با timeout اجرا و جریان‌ها را جدا کنید:
timeout 60s autopsy ARGS > autopsy.stdout.log 2> autopsy.stderr.log
status=$?; printf 'tool=autopsy\texit=%s\ttime=%s\n' "$status" "$(date -Is)" | tee autopsy.meta
sha256sum autopsy.stdout.log autopsy.stderr.log autopsy.meta > autopsy.SHA256SUMS

تحلیل و کنترل کیفیت خروجی

wc -l autopsy.stdout.log autopsy.stderr.log
sed -n '1,40p' autopsy.stdout.log | tee autopsy.preview.txt
grep -Ein 'error|warning|fail|denied|timeout' autopsy.stderr.log > autopsy.issues.txt || true
sha256sum -c autopsy.SHA256SUMS | tee autopsy.integrity-check.txt

تفسیر: exit code، خطاها و نشانه‌های مثبت کاذب را بررسی کنید. خروجی خام را تغییر ندهید؛ نسخه پالایش‌شده را برای ابزار یا مرحله بعد بسازید و hash فایل خام را در گزارش نگه دارید.