Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
snoop — eBPF पर निर्मित एक आधुनिक सिस्कॉल ट्रेसर। strace की तरह सोचें, लेकिन वास्तविक TUI, स्मार्ट फिल्टर, TLS डिक्रिप्शन, और वास्तव में पढ़ने योग्य आउटपुट के साथ। | Kitploit
उपकरण/GitHubGitHub/pandaadir05/snoop
गतिशील विश्लेषण (सैंडबॉक्सिंग)एन्क्रिप्शन/डिक्रिप्शन उपकरणरिवर्स इंजीनियरिंगडीबगर्सफोरेंसिकनेटवर्क सुरक्षामालवेयर विश्लेषणउपयोगिताएँ और फ्रेमवर्कबाइनरी विश्लेषणघटना प्रतिक्रिया
GitHubpandaadir05/snoop
2201055 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →

snoop

eBPF पर निर्मित एक आधुनिक सिस्कॉल ट्रेसर। strace की तरह सोचें, लेकिन वास्तविक TUI, स्मार्ट फिल्टर, TLS डिक्रिप्शन, और वास्तव में पढ़ने योग्य आउटपुट के साथ।

रिपॉजिटरी देखें
साझा करें

snoop

CI License: MIT OR Apache-2.0

Linux के लिए एक syscall ट्रेसर, eBPF पर निर्मित। strace जैसा, लेकिन एक लाइव TUI, स्मार्ट फ़िल्टर और आर्गुमेंट डिकोडिंग के साथ जिसे आप वास्तव में पढ़ सकते हैं।

snoop TUI demo

root@kitploit:~
$ sudo snoop curl https://example.com
[   0.001] curl(1234/1234)  openat(AT_FDCWD, "/etc/ssl/certs/ca-certificates.crt", O_RDONLY) = 4  <0.031ms>
[   0.002] curl(1234/1234)  read(4, 0x7f3a1c000b20, 4096) = 4096  <0.012ms>
[   0.003] curl(1234/1234)  socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 5  <0.008ms>
[   0.004] curl(1234/1234)  connect(5, 93.184.216.34:443) = 0  <42.187ms>
[   0.046] curl(1234/1234)  sendto(5, 0x55a3bc001b40, 78, MSG_NOSIGNAL) = 78  <0.011ms>

या इसे --raw के बिना चलाएँ और एक पूर्ण-स्क्रीन TUI प्राप्त करें:

root@kitploit:~
 snoop  pid:1234  comm:curl  events:142  elapsed:0.341s
┌── syscall stream ─────────────────────────────────────┐┌── top syscalls ─────────┐
│ [  0.001] curl  openat("/etc/ssl/…") = 4  <0.031ms>  ││ syscall       count  pct│
│ [  0.002] curl  read(4, …) = 4096                    ││ read            38  26.8%│
│ [  0.003] curl  socket(AF_INET, …) = 5               ││ write           21  14.8%│
│ [  0.004] curl  connect(5, 93.184.216.34:443) = 0    ││ openat          18  12.7%│
│ [  0.046] curl  sendto(5, …) = 78                    ││ mmap            14   9.9%│
└───────────────────────────────────────────────────────┘└─────────────────────────┘
 [q]uit  [Space]pause  [/]search  [f]iles  [n]et  [c]lear  [↑↓]scroll  [G]bottom

सिर्फ strace का उपयोग क्यों नहीं करते?

strace ptrace का उपयोग करता है, जो हर syscall पर आपकी प्रक्रिया को रोकता है। snoop इसके बजाय eBPF tracepoints का उपयोग करता है -- आपकी प्रक्रिया पूरी गति से चलती रहती है और ट्रेसिंग कर्नेल में होती है। प्रदर्शन के अलावा, snoop तर्कों को कुछ ऐसे डिकोड करता है जिसे आप वास्तव में पढ़ सकते हैं, इसमें एक रीयल-टाइम TUI है, और यह ट्रेस को सेव/रीप्ल/डिफ़ कर सकता है।

यह क्या करता है

  • TUI -- एक लाइव स्क्रॉल करने योग्य syscall स्ट्रीम जिसमें टॉप-सिस्कॉल पैनल, खोज, श्रेणी फ़िल्टर, पॉज़/रीज़्यूम है। जब stdout टर्मिनल न हो तो strace-शैली की लाइन आउटपुट पर वापस आ जाता है।
  • आउटपुट फॉर्मेट -- --raw (strace-संगत), --json (jq के लिए JSON Lines), --explain (syscalls को उच्च-स्तरीय गतिविधि सारांशों में समूहित करता है)
  • फ़िल्टर -- --files, --net, --slow 10, --syscall openat
  • 60+ syscalls के लिए तर्क डिकोडिंग -- पथ, फ़्लैग, सॉकेट पते, वे सभी चीज़ें जिन्हें आपको सामान्यतः मैन पेज में देखना पड़ता है
  • चल रही प्रक्रिया से अटैच (-p PID) या नई प्रक्रिया स्पॉन (snoop <cmd>)
  • --follow फोर्क किए गए चाइल्ड को भी ट्रेस करता है
  • कंटेनर -- --docker <name> और --pod <name> कंटेनर के अंदर सब कुछ ट्रेस करता है
  • TLS कैप्चर -- --tls uprobes के माध्यम से SSL_write/SSL_read को हुक करके प्लेनटेक्स्ट दिखाता है
  • हीप ट्रेसिंग -- --ltrace malloc/free/calloc/realloc को ट्रैक करता है
  • रिकॉर्ड और रीप्ले -- snoop record डिस्क पर सेव करता है, snoop view ऑफ़लाइन रीप्ले करता है (रूट की आवश्यकता नहीं)
  • डिफ़ -- snoop diff before.snoop after.snoop दो रनों के बीच में क्या बदला दिखाता है
  • फ्लेमग्राफ -- --flamegraph out.svg

कोई कर्नेल मॉड्यूल या C टूलचेन नहीं। eBPF प्रोग्राम शुद्ध Rust (aya) में हैं और बाइनरी में एम्बेडेड होते हैं।

आवश्यकताएँ

  • Linux 5.8+ (BPF रिंग बफर समर्थन चाहिए)
  • x86_64 या aarch64
  • रूट, या CAP_BPF + CAP_PERFMON

स्थापना

पूर्व-निर्मित बाइनरी

root@kitploit:~
curl -L https://github.com/pandaadir05/snoop/releases/latest/download/snoop-x86_64-linux.tar.gz \
  | tar -xz
sudo install -m755 snoop /usr/local/bin/snoop

aarch64 के लिए, x86_64 को aarch64 से बदलें।

स्रोत से

root@kitploit:~
cargo install --git https://github.com/pandaadir05/snoop snoop

यह eBPF प्रोग्राम को स्वचालित रूप से बनाता है। कोई C टूलचेन या कर्नेल हेडर की आवश्यकता नहीं, सिर्फ Rust।

उपयोग

root@kitploit:~
# किसी कमांड को ट्रेस करें
sudo snoop ls /etc
sudo snoop -- nginx -g 'daemon off;'

# चल रही प्रक्रिया से अटैच करें
sudo snoop -p $(pidof postgres)
sudo snoop -p 1234 --follow        # फोर्क किए गए चाइल्ड को भी ट्रेस करें

# कंटेनर
sudo snoop --docker my-nginx
sudo snoop --pod my-app-pod --namespace production

# फ़िल्टरिंग
sudo snoop -p 1234 --files         # केवल फाइल-सिस्टम कॉल
sudo snoop -p 1234 --net           # केवल नेटवर्क कॉल
sudo snoop -p 1234 --slow 5        # केवल 5ms से धीमी कॉल
sudo snoop -p 1234 --syscall openat --syscall read

एक्सप्लेन मोड

--explain कच्चे syscalls को उच्च-स्तरीय सारांशों में समूहित करता है, बजाय हर कॉल को अलग-अलग दिखाने के:

root@kitploit:~
sudo snoop -p 1234 --explain
root@kitploit:~
READ   /etc/passwd          ↓1.2 KB   (2 calls, 0.80ms)
NET    127.0.0.1:5432       ↑512 B ↓4.0 KB   (18.20ms)
EXEC   /usr/bin/python3

TLS डिक्रिप्शन

OpenSSL में SSL_write/SSL_read को हुक करके प्लेनटेक्स्ट कैप्चर करता है:

root@kitploit:~
sudo snoop -p 1234 --tls

हीप ट्रेसिंग

root@kitploit:~
sudo snoop -p 1234 --ltrace

रिकॉर्ड और रीप्ले

एक ट्रेस रिकॉर्ड करें, फिर बाद में रूट के बिना रीप्ले करें:

root@kitploit:~
sudo snoop record -p 1234 -o trace.snoop

snoop view trace.snoop
snoop view trace.snoop --files --slow 5 --json | jq 'select(.name=="read")'

दो ट्रेस को डिफ़ करें

डिप्लॉय के बाद रिग्रेशन पकड़ने के लिए उपयोगी:

root@kitploit:~
sudo snoop record -p 1234 -o before.snoop
# ... बदलाव डिप्लॉय करें ...
sudo snoop record -p 1234 -o after.snoop

snoop diff before.snoop after.snoop
root@kitploit:~
SYSCALL COUNTS
  read      1200 → 1800  (+50.0%)  ▲
  openat     340 →  210  (-38.2%)  ▼

DURATION REGRESSIONS (median)
  read      0.02ms → 0.08ms  (+300%)

ONLY IN after
  statx (4x)

JSON आउटपुट

root@kitploit:~
sudo snoop -p 1234 --json | jq 'select(.name == "connect")'

फ्लेमग्राफ निर्यात करें

root@kitploit:~
sudo snoop -p 1234 --flamegraph syscalls.svg

फ़्लैग

root@kitploit:~
  -p, --pid <PID>           चल रही प्रक्रिया से अटैच करें
      --follow              फोर्क किए गए चाइल्ड को ट्रेस करें (--pid के साथ आवश्यक)
      --docker <NAME|ID>    Docker कंटेनर में सभी प्रक्रियाओं को ट्रेस करें
      --pod <POD>           Kubernetes पॉड में सभी प्रक्रियाओं को ट्रेस करें
  -n, --namespace <NS>      Kubernetes नेमस्पेस (डिफ़ॉल्ट: default)

      --raw                 एक-पंक्ति strace-संगत आउटपुट
      --json                JSON Lines — प्रति syscall एक ऑब्जेक्ट
      --explain             सिमैंटिक गतिविधि सारांश

      --files               केवल फाइल-सिस्टम syscalls
      --net                 केवल नेटवर्क syscalls
      --slow <MILLIS>       केवल थ्रेशोल्ड से धीमी कॉल
      --syscall <NAME>      केवल यह syscall (दोहराने योग्य)
      --no-decode           कच्चे हेक्स तर्क, कोई डिकोडिंग नहीं

      --tls                 SSL_write/SSL_read uprobes के माध्यम से TLS प्लेनटेक्स्ट कैप्चर करें
      --ltrace              malloc/free/calloc/realloc ट्रेस करें

      --flamegraph <PATH>   बाहर निकलने पर flamegraph SVG लिखें
      --ebpf-obj <PATH>     एम्बेडेड eBPF ऑब्जेक्ट को ओवरराइड करें [$SNOOP_EBPF_OBJ]

TUI कीबाइंडिंग

कुंजीक्रिया
qबाहर निकलें
Spaceरोकें / जारी रखें
/इंक्रीमेंटल खोज
fफाइल-सिस्टम फ़िल्टर टॉगल करें
nनेटवर्क फ़िल्टर टॉगल करें
cघटना सूची साफ़ करें
Enterचयनित घटना के लिए विवरण पॉपअप दिखाएँ
↑ / kऊपर स्क्रॉल करें
↓ / jनीचे स्क्रॉल करें
G / Endनवीनतम घटना पर जाएँ
g / Homeसबसे पुरानी घटना पर जाएँ

यह कैसे काम करता है

दो eBPF प्रोग्राम raw_syscalls/sys_enter और sys_exit से अटैच होते हैं। प्रवेश पर, syscall नंबर और तर्क एक प्रति-थ्रेड स्क्रैच मैप में जाते हैं। निकास पर, वापसी मान प्रवेश डेटा के साथ जोड़ा जाता है और एक रिंग बफर में धकेल दिया जाता है। यूजरस्पेस एक एसिंक fd पर रिंग बफर को ड्रेन करता है और सब कुछ फ़िल्टर/डिकोड पाइपलाइन के माध्यम से चलाता है।

root@kitploit:~
kernel                               userspace
──────                               ─────────
raw_syscalls/sys_enter  ──►  SYSCALL_ENTER map (per-tid scratch)
raw_syscalls/sys_exit   ──►  EVENTS ring buffer (4 MiB)
                                  │
                        poll consumer (tokio::spawn)
                                  │
                       ┌──────────┴──────────┐
                   RawOutput             TuiApp
                 (one line/syscall)   (ratatui TUI)

eBPF प्रोग्राम aya के साथ Rust में लिखे गए हैं, बिल्ड समय पर BPF बाइटकोड में संकलित किए जाते हैं, और बाइनरी में एम्बेडेड होते हैं। कोई रनटाइम निर्भरता या कर्नेल हेडर नहीं।

स्रोत से निर्माण

root@kitploit:~
git clone https://github.com/pandaadir05/snoop
cd snoop

# BPF टार्गेट के लिए केवल Nightly की आवश्यकता है
rustup toolchain install nightly
rustup component add rust-src --toolchain nightly

# bpf-linker eBPF ऑब्जेक्ट को लिंक करता है (कोई सिस्टम LLVM की आवश्यकता नहीं)
cargo install bpf-linker --no-default-features

cargo build --release
sudo ./target/release/snoop -p $$

बिल्ड स्क्रिप्ट eBPF प्रोग्राम को स्वचालित रूप से संकलित करती है। कोई अलग चरण आवश्यक नहीं।

डेवलपमेंट के दौरान आप xtask का भी उपयोग कर सकते हैं:

root@kitploit:~
cargo xtask run -- -p $$

स्टैक

परतक्रेट
eBPF प्रोग्रामaya-ebpf
eBPF लोडरaya
TUIratatui + crossterm
CLIclap (डिराइव)
एसिंक रनटाइमtokio
फ्लेमग्राफinferno

लाइसेंस

MIT या Apache-2.0, आपकी पसंद पर।

टूल डाउनलोड करें