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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/mozillazg/ptcpdump
पैकेट स्निफिंग और विश्लेषणकंटेनर सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)नेटवर्क फोरेंसिकफोरेंसिकनेटवर्क सुरक्षाडिजिटल फोरेंसिकक्लाउड सुरक्षा
GitHubmozillazg/ptcpdump

ptcpdump

eBPF-आधारित पैकेट विश्लेषक जो स्वचालित प्रक्रिया, कंटेनर और Kubernetes पॉड मेटाडेटा एनोटेशन के साथ नेटवर्क ट्रैफ़िक को कैप्चर करता है, tcpdump-संगत फ़िल्टरिंग और PcapNG आउटपुट का समर्थन करता है।

रिपॉजिटरी देखें
1.3k673 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

ptcpdump

amd64-e2e arm64-e2e Release Coveralls अंग्रेज़ी | 中文

ptcpdump एक tcpdump-संगत पैकेट विश्लेषक है जो eBPF द्वारा संचालित है, और पता लगाने योग्य होने पर पैकेटों को प्रक्रिया/कंटेनर/पॉड मेटाडेटा के साथ स्वचालित रूप से एनोटेट करता है। jschwinger233/skbdump से प्रेरित।

विषय-सूची

  • Features
  • Installation
    • Requirements
  • Usage
    • Example commands
    • Example output
    • Running with Docker
    • Backend
    • Flags
  • Compare with tcpdump
  • Developing
    • Dependencies
    • Building
  • Related Projects
    • Flownix

Features

  • 🔍 प्रक्रिया/कंटेनर/पॉड-जागरूक पैकेट कैप्चर।
  • 📦 फ़िल्टर द्वारा: --pid (प्रक्रिया), --pname (प्रक्रिया नाम), --container-id (कंटेनर), --pod-name (पॉड)।
  • 🎯 tcpdump-संगत फ़्लैग (-i, -w, -c, -s, -n, -C, -W, -A, और अधिक)।
  • 📜 tcpdump की तरह pcap-filter(7) वाक्यविन्यास का समर्थन करता है।
  • 🌳 tcpdump-जैसा आउटपुट + प्रक्रिया/कंटेनर/पॉड संदर्भ।
  • 📑 वर्बोज़ मोड प्रक्रियाओं और कंटेनरों/पॉडों के लिए विस्तृत मेटाडेटा दिखाता है।
  • 💾 एम्बेडेड मेटाडेटा के साथ PcapNG (Wireshark-तैयार)।
  • 🌐 क्रॉस-नेमस्पेस कैप्चर (--netns)।

Installation

आप x86_64 और arm64 के लिए स्थिर रूप से लिंक किए गए निष्पादन योग्य को रिलीज़ पेज से डाउनलोड कर सकते हैं।

Requirements

लिनक्स कर्नेल >= 5.2 (BPF और BTF समर्थन के साथ संकलित)।

ptcpdump वैकल्पिक रूप से debugfs की आवश्यकता है। इसे /sys/kernel/debug में माउंट किया जाना चाहिए। यदि फ़ोल्डर खाली है, तो इसे इसके साथ माउंट किया जा सकता है:

root@kitploit:~
mount -t debugfs none /sys/kernel/debug

निम्नलिखित कर्नेल कॉन्फ़िगरेशन आवश्यक है। मॉड्यूल के रूप में बनाना भी संभव है।

🔝

Usage

Example commands

tcpdump की तरह फ़िल्टर करें:

root@kitploit:~
sudo ptcpdump -i eth0 tcp
sudo ptcpdump -i eth0 -A -s 0 -n -v tcp and port 80 and host 10.10.1.1
sudo ptcpdump -i any -s 0 -n -v -C 100MB -W 3 -w test.pcapng 'tcp and port 80 and host 10.10.1.1'
sudo ptcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0'

एकाधिक इंटरफ़ेस:

root@kitploit:~
sudo ptcpdump -i eth0 -i lo

प्रक्रिया या उपयोगकर्ता द्वारा फ़िल्टर करें:

root@kitploit:~
sudo ptcpdump -i any --pid 1234 --pid 233 -f
sudo ptcpdump -i any --pname curl
sudo ptcpdump -i any --uid 1000

लक्ष्य प्रोग्राम चलाकर प्रक्रिया द्वारा कैप्चर करें:

root@kitploit:~
sudo ptcpdump -i any -- curl ubuntu.com

कंटेनर या पॉड द्वारा फ़िल्टर करें:

root@kitploit:~
sudo ptcpdump -i any --container-id 36f0310403b1
sudo ptcpdump -i any --container-name test
sudo ptcpdump -i any --pod-name test.default

डेटा को PcapNG प्रारूप में सहेजें:

root@kitploit:~
sudo ptcpdump -i any -w demo.pcapng
sudo ptcpdump -i any -w - port 80 | tcpdump -n -r -
sudo ptcpdump -i any -w - port 80 | tshark -r -

अन्य नेटवर्क नेमस्पेस में इंटरफ़ेस कैप्चर करना:

root@kitploit:~
sudo ptcpdump -i lo --netns /run/netns/foo --netns /run/netns/bar
sudo ptcpdump -i any --netns /run/netns/foobar
sudo ptcpdump -i any --netns /proc/26/ns/net

🔝

Example output

डिफ़ॉल्ट:

root@kitploit:~
09:32:09.718892 vethee2a302f wget.3553008 In IP 10.244.0.2.33426 > 139.178.84.217.80: Flags [S], seq 4113492822, win 64240, length 0, ParentProc [python3.834381], Container [test], Pod [test.default]
09:32:09.718941 eth0 wget.3553008 Out IP 172.19.0.2.33426 > 139.178.84.217.80: Flags [S], seq 4113492822, win 64240, length 0, ParentProc [python3.834381], Container [test], Pod [test.default]

-q के साथ:

root@kitploit:~
09:32:09.718892 vethee2a302f wget.3553008 In IP 10.244.0.2.33426 > 139.178.84.217.80: tcp 0, ParentProc [python3.834381], Container [test], Pod [test.default]
09:32:09.718941 eth0 wget.3553008 Out IP 172.19.0.2.33426 > 139.178.84.217.80: tcp 0, ParentProc [python3.834381], Container [test], Pod [test.default]

-v के साथ:

root@kitploit:~
13:44:41.529003 eth0 In IP (tos 0x4, ttl 45, id 45428, offset 0, flags [DF], proto TCP (6), length 52)
    139.178.84.217.443 > 172.19.0.2.42606: Flags [.], cksum 0x5284, seq 3173118145, ack 1385712707, win 118, options [nop,nop,TS val 134560683 ecr 1627716996], length 0
    Process (pid 553587, cmd /usr/bin/wget, args wget kernel.org)
    User (uid 1000)
    ParentProc (pid 553296, cmd /bin/sh, args sh)
    Container (name test, id d9028334568bf75a5a084963a8f98f78c56bba7f45f823b3780a135b71b91e95, image docker.io/library/alpine:3.18, labels {"io.cri-containerd.kind":"container","io.kubernetes.container.name":"test","io.kubernetes.pod.name":"test","io.kubernetes.pod.namespace":"default","io.kubernetes.pod.uid":"9e4bc54b-de48-4b1c-8b9e-54709f67ed0c"})
    Pod (name test, namespace default, UID 9e4bc54b-de48-4b1c-8b9e-54709f67ed0c, labels {"run":"test"}, annotations {"kubernetes.io/config.seen":"2024-07-21T12:41:00.460249620Z","kubernetes.io/config.source":"api"})

आउटपुट में शामिल करने के लिए संदर्भ सीमित करने के लिए --context का उपयोग करना:

root@kitploit:~
# --context=process
09:32:09.718892 vethee2a302f wget.3553008 In IP 10.244.0.2.33426 > 139.178.84.217.80: Flags [S], seq 4113492822, win 64240, length 0

# -v --context=process
13:44:41.529003 eth0 In IP (tos 0x4, ttl 45, id 45428, offset 0, flags [DF], proto TCP (6), length 52)
    139.178.84.217.443 > 172.19.0.2.42606: Flags [.], cksum 0x5284, seq 3173118145, ack 1385712707, win 118, options [nop,nop,TS val 134560683 ecr 1627716996], length 0
    Process (pid 553587, cmd /usr/bin/wget, args wget kernel.org)

# -v --context=process,parentproc,container,pod
# or -v --context=process --context=parentproc --context=container --context=pod
13:44:41.529003 eth0 In IP (tos 0x4, ttl 45, id 45428, offset 0, flags [DF], proto TCP (6), length 52)
    139.178.84.217.443 > 172.19.0.2.42606: Flags [.], cksum 0x5284, seq 3173118145, ack 1385712707, win 118, options [nop,nop,TS val 134560683 ecr 1627716996], length 0
    Process (pid 553587, cmd /usr/bin/wget, args wget kernel.org)
    ParentProc (pid 553296, cmd /bin/sh, args sh)
    Container (name test, id d9028334568bf75a5a084963a8f98f78c56bba7f45f823b3780a135b71b91e95, image docker.io/library/alpine:3.18, labels {"io.cri-containerd.kind":"container","io.kubernetes.container.name":"test","io.kubernetes.pod.name":"test","io.kubernetes.pod.namespace":"default","io.kubernetes.pod.uid":"9e4bc54b-de48-4b1c-8b9e-54709f67ed0c"})
    Pod (name test, namespace default, UID 9e4bc54b-de48-4b1c-8b9e-54709f67ed0c, labels {"run":"test"}, annotations {"kubernetes.io/config.seen":"2024-07-21T12:41:00.460249620Z","kubernetes.io/config.source":"api"})

-A के साथ:

root@kitploit:~
14:44:34.457504 ens33 curl.205562 Out IP 10.0.2.15.39984 > 139.178.84.217.80: Flags [P.], seq 2722472188:2722472262, ack 892036871, win 64240, length 74, ParentProc [bash.180205]
E..r.,@[email protected].
.....T..0.P.E..5+g.P.......GET / HTTP/1.1
Host: kernel.org
User-Agent: curl/7.81.0
Accept: */*

-x के साथ:

root@kitploit:~
14:44:34.457504 ens33 curl.205562 Out IP 10.0.2.15.39984 > 139.178.84.217.80: Flags [P.], seq 2722472188:2722472262, ack 892036871, win 64240, length 74, ParentProc [bash.180205]
        0x0000:  4500 0072 de2c 4000 4006 6fbf 0a00 020f
        0x0010:  8bb2 54d9 9c30 0050 a245 a0fc 352b 6707
        0x0020:  5018 faf0 ecfe 0000 4745 5420 2f20 4854
        0x0030:  5450 2f31 2e31 0d0a 486f 7374 3a20 6b65
        0x0040:  726e 656c 2e6f 7267 0d0a 5573 6572 2d41
        0x0050:  6765 6e74 3a20 6375 726c 2f37 2e38 312e
        0x0060:  300d 0a41 6363 6570 743a 202a 2f2a 0d0a
        0x0070:  0d0a

-X के साथ:

root@kitploit:~
14:44:34.457504 ens33 curl.205562 Out IP 10.0.2.15.39984 > 139.178.84.217.80: Flags [P.], seq 2722472188:2722472262, ack 892036871, win 64240, length 74, ParentProc [bash.180205]
        0x0000:  4500 0072 de2c 4000 4006 6fbf 0a00 020f  E..r.,@[email protected].....
        0x0010:  8bb2 54d9 9c30 0050 a245 a0fc 352b 6707  ..T..0.P.E..5+g.
        0x0020:  5018 faf0 ecfe 0000 4745 5420 2f20 4854  P.......GET / HT
        0x0030:  5450 2f31 2e31 0d0a 486f 7374 3a20 6b65  TP/1.1..Host: ke
        0x0040:  726e 656c 2e6f 7267 0d0a 5573 6572 2d41  rnel.org..User-A
        0x0050:  6765 6e74 3a20 6375 726c 2f37 2e38 312e  gent: curl/7.81.
        0x0060:  300d 0a41 6363 6570 743a 202a 2f2a 0d0a  0..Accept: */*..
        0x0070:  0d0a                                     ..

🔝

Running with Docker

ptcpdump के लिए Docker इमेज https://quay.io/repository/ptcpdump/ptcpdump पर प्रकाशित हैं।

root@kitploit:~
docker run --privileged --rm -t --net=host --pid=host \
  -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
  -v /var/run:/var/run:ro \
  -v /run:/run:ro \
  quay.io/ptcpdump/ptcpdump:latest ptcpdump -i any -c 2 tcp

🔝

Backend

ptcpdump --backend फ़्लैग के माध्यम से पैकेट कैप्चर के लिए एक विशेष eBPF तकनीक निर्दिष्ट करने का समर्थन करता है।

यदि यह फ़्लैग निर्दिष्ट नहीं है, तो यह डिफ़ॉल्ट रूप से tc होता है।

होस्ट पर curl http://1.1.1.1 चलाना:

  • --backend tc:

    root@kitploit:~
    $ sudo ptcpdump -i any --backend tc host 1.1.1.1
    
    12:11:28.009276 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [S], seq 615672474, win 64240, options [mss 1460,sackOK,TS val 2168208063 ecr 0,nop,wscale 7], length 0, ParentProc [bash.321004]
    12:11:28.113779 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [S.], seq 1810787293, ack 615672475, win 64240, options [mss 1460], length 0, ParentProc [bash.321004]
    12:11:28.113852 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672475, ack 1810787294, win 64240, length 0, ParentProc [bash.321004]
    12:11:28.114216 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [P.], seq 615672475:615672545, ack 1810787294, win 64240, length 70, ParentProc [bash.321004]
    12:11:28.115383 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787294, ack 615672545, win 64240, length 0, ParentProc [bash.321004]
    12:11:28.534486 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [P.], seq 1810787294:1810787680, ack 615672545, win 64240, length 386, ParentProc [bash.321004]
    12:11:28.534751 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672545, ack 1810787680, win 63854, length 0, ParentProc [bash.321004]
    12:11:28.536982 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [F.], seq 615672545, ack 1810787680, win 63854, length 0, ParentProc [bash.321004]
    12:11:28.538160 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787680, ack 615672546, win 64239, length 0, ParentProc [bash.321004]
    12:11:28.642291 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [FP.], seq 1810787680, ack 615672546, win 64239, length 0, ParentProc [bash.321004]
    12:11:28.642511 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672546, ack 1810787681, win 63854, length 0, ParentProc [bash.321004]
    

🔝

फ़्लैग्स

root@kitploit:~
Usage:
  ptcpdump [flags] [expression] [-- command [args]]

Examples:
  sudo ptcpdump -i any tcp
  sudo ptcpdump -i eth0 -i lo
  sudo ptcpdump -i eth0 --pid 1234 port 80 and host 10.10.1.1
  sudo ptcpdump -i any --pname curl -A
  sudo ptcpdump -i any --container-id 36f0310403b1
  sudo ptcpdump -i any --container-name test
  sudo ptcpdump -i any -- curl ubuntu.com
  sudo ptcpdump -i any -w ptcpdump.pcapng
  sudo ptcpdump -i any -w - | tcpdump -n -r -
  sudo ptcpdump -i any -w - | tshark -r -
  ptcpdump -r ptcpdump.pcapng

Expression: "man 7 pcap-filter" देखें

फ़्लैग्स:
  -S, --absolute-tcp-sequence-numbers                पूर्ण (absolute) TCP अनुक्रम संख्‍याएँ प्रिंट करें, सापेक्ष (relative) नहीं।
  --backend string                               पैकेट कैप्चर करने के लिए उपयोग करने के लिए बैकएंड निर्दिष्ट करें। संभावित मान "tc", "cgroup-skb", "tp-btf" और "socket-filter" हैं (डिफ़ॉल्ट "tc")
  --container-id string                          कंटेनर आईडी द्वारा फ़िल्टर करें (केवल TCP और UDP पैकेट समर्थित हैं)
  --container-name string                        कंटेनर नाम द्वारा फ़िल्टर करें (केवल TCP और UDP पैकेट समर्थित हैं)
  --containerd-address string                    containerd सेवा का पता (डिफ़ॉल्ट "/run/containerd/containerd.sock")
  --context strings                              आउटपुट में शामिल करने के लिए संदर्भ जानकारी निर्दिष्ट करें (डिफ़ॉल्ट [process,thread,parentproc,user,container,pod])
  --count                                        कैप्चर फ़ाइल पढ़ते समय पैकेट पार्स/प्रिंट करने के बजाय केवल stdout पर पैकेट गिनती प्रिंट करें
  --cri-runtime-address string                   CRI कंटेनर रनटाइम सेवा का पता (डिफ़ॉल्ट: पहले सफल विकल्प के क्रम में [/var/run/dockershim.sock, /var/run/cri-dockerd.sock, /run/crio/crio.sock, /run/containerd/containerd.sock] उपयोग करता है)
  --delay-before-handle-packet-events duration   पैकेट इवेंट को संभालने से पहले कुछ समय विलंब करें
  -Q, --direction string                             कैप्चर किए जाने वाले पैकेट के लिए प्रेषण/प्राप्ति दिशा चुनें। संभावित मान 'in', 'out' और 'inout' हैं (डिफ़ॉल्ट "inout")
  --disable-reverse-match                        TCP और UDP पैकेट के लिए रिवर्स मैच अक्षम करें।
  --docker-address string                        Docker Engine सेवा का पता (डिफ़ॉल्ट "/var/run/docker.sock")
  --embed-keylog-to-pcapng -- CMD [ARGS]         TLS Key Log फ़ाइल को इस पथ पर लिखें (प्रायोगिक: केवल अनस्ट्रिप्ड Go बाइनरी का समर्थन करता है और -- CMD [ARGS] के साथ संयोजित होना चाहिए)
  --event-chan-size uint                         इवेंट चैन का आकार (डिफ़ॉल्ट 20)
  --exec-events-worker-number uint               exec इवेंट को संभालने के लिए वर्कर की संख्या (डिफ़ॉल्ट 50)
  -F, --expression-file string                       फ़िल्टर एक्सप्रेशन के लिए इनपुट के रूप में फ़ाइल का उपयोग करें। कमांड लाइन पर दिया गया अतिरिक्त एक्सप्रेशन अनदेखा किया जाता है।
  -W, --file-count uint                              -C विकल्प के साथ संयोजन में उपयोग किया जाता है, यह बनाई जाने वाली फ़ाइलों की संख्या को सीमित करेगा, और शुरुआत से फ़ाइलों को ओवरराइट करना शुरू करेगा, जिससे एक 'रोटेटिंग' बफर बनेगा।
  -C, --file-size fileSize                           कच्चा पैकेट सेवफ़ाइल में लिखने से पहले, जाँचें कि फ़ाइल वर्तमान में file_size से बड़ी है या नहीं और यदि हाँ, तो वर्तमान सेवफ़ाइल बंद करें और एक नई फ़ाइल खोलें। पहली सेवफ़ाइल के बाद की सेवफ़ाइलों का नाम -w फ़्लैग से निर्दिष्ट नाम होगा, जिसमें 1 से शुरू होने वाली संख्या जुड़ी होगी।
  -f, --follow-forks                                 प्रक्रिया द्वारा फ़िल्टर करते समय वर्तमान में ट्रेस की जा रही प्रक्रियाओं द्वारा बनाई गई चाइल्ड प्रक्रियाओं को ट्रेस करें
  -h, --help                                         ptcpdump के लिए सहायता
  -i, --interface strings                            कैप्चर करने के लिए इंटरफ़ेस (डिफ़ॉल्ट [lo])
  --kernel-btf string                            कर्नेल BTF फ़ाइल निर्दिष्ट करें (डिफ़ॉल्ट: पहले सफल विकल्प के क्रम में [/sys/kernel/btf/vmlinux, /var/lib/ptcpdump/btf/vmlinux, /var/lib/ptcpdump/btf/vmlinux-$(uname -r), /var/lib/ptcpdump/btf/$(uname -r).btf, BTF फ़ाइल https://mirrors.openanolis.cn/coolbpf/btf/ और https://github.com/aquasecurity/btfhub-archive/ से डाउनलोड करें])
    -D, --list-interfaces                              सिस्टम पर उपलब्ध नेटवर्क इंटरफ़ेस की सूची प्रिंट करें
  --log-level string                             लॉगिंग स्तर सेट करें ("debug", "info", "warn", "error", "fatal") (डिफ़ॉल्ट "warn")
  --micro                                        --time-stamp-precision=micro के लिए शॉर्टहैंड
  --nano                                         --time-stamp-precision=nano के लिए शॉर्टहैंड
  --netns strings                                नेटवर्क नेमस्पेस फ़ाइल या नाम का पथ (डिफ़ॉल्ट [/proc/self/ns/net])
  -n, --no-convert-addr count                        पतों को परिवर्तित न करें (जैसे, होस्ट पते, पोर्ट नंबर, आदि) नामों में
  -#, --number                                       पंक्ति की शुरुआत में एक वैकल्पिक पैकेट नंबर प्रिंट करें
  --oneline                                      पार्स किए गए पैकेट आउटपुट को एक पंक्ति में प्रिंट करें
  --pid uints                                    प्रक्रिया आईडी द्वारा फ़िल्टर करें (केवल TCP और UDP पैकेट समर्थित हैं) (डिफ़ॉल्ट [])
  --pname string                                 प्रक्रिया नाम द्वारा फ़िल्टर करें (केवल TCP और UDP पैकेट समर्थित हैं)
  --pod-name string                              पॉड नाम द्वारा फ़िल्टर करें (प्रारूप: NAME.NAMESPACE, केवल TCP और UDP पैकेट समर्थित हैं)
  --print                                        पार्स किए गए पैकेट आउटपुट को प्रिंट करें, भले ही कच्चे पैकेट -w फ़्लैग के साथ फ़ाइल में सहेजे जा रहे हों
  -A, --print-data-in-ascii                          प्रत्येक पैकेट (इसके लिंक लेवल हेडर को छोड़कर) को ASCII में प्रिंट करें
  -x, --print-data-in-hex count                      पार्स और प्रिंट करते समय, प्रत्येक पैकेट के हेडर प्रिंट करने के अलावा, प्रत्येक पैकेट के डेटा को हेक्स में प्रिंट करें
  -X, --print-data-in-hex-ascii count                पार्स और प्रिंट करते समय, प्रत्येक पैकेट के हेडर प्रिंट करने के अलावा, प्रत्येक पैकेट के डेटा को हेक्स और ASCII में प्रिंट करें
  -t, --print-timestamp count                        आउटपुट में मुद्रित टाइमस्टैम्प के प्रारूप को नियंत्रित करें
  -q, --quiet                                        शांत आउटपुट। कम प्रोटोकॉल जानकारी प्रिंट करें ताकि आउटपुट पंक्तियाँ छोटी हों
  -r, --read-file string                             फ़ाइल से पैकेट पढ़ें (जो -w विकल्प के साथ बनाई गई थी)। उदा. ptcpdump.pcapng
  -c, --receive-count uint                           count पैकेट प्राप्त करने के बाद बाहर निकलें
  -s, --snapshot-length uint32                       प्रति पैकेट 262144 बाइट्स के डिफ़ॉल्ट के बजाय snaplen बाइट्स डेटा लें (डिफ़ॉल्ट 262144)
  --time-stamp-precision string                  कैप्चर करते समय, कैप्चर के लिए टाइम स्टैम्प सटीकता को प्रारूप पर सेट करें (डिफ़ॉल्ट "micro")
  --uid uints                                    उपयोगकर्ता आईडी द्वारा फ़िल्टर करें (केवल TCP और UDP पैकेट समर्थित हैं) (डिफ़ॉल्ट [])
  -v, --verbose count                                पार्स और प्रिंट करते समय, (थोड़ा अधिक) विस्तृत आउटपुट उत्पन्न करें
  --version                                      ptcpdump और libpcap संस्करण स्ट्रिंग प्रिंट करें और बाहर निकलें
  -w, --write-file string                            कच्चे पैकेट को पार्स और प्रिंट करने के बजाय फ़ाइल में लिखें। बाद में उन्हें -r विकल्प के साथ प्रिंट किया जा सकता है। यदि फ़ाइल '-' है तो मानक आउटपुट का उपयोग किया जाता है। उदा. ptcpdump.pcapng
  --write-keylog-file -- CMD [ARGS]              TLS Key Log फ़ाइल को इस पथ पर लिखें (प्रायोगिक: केवल अनस्ट्रिप्ड Go बाइनरी का समर्थन करता है और -- CMD [ARGS] के साथ संयोजित होना चाहिए)

🔝

tcpdump से तुलना करें| विकल्प | tcpdump | ptcpdump |

|---------------------------------------------------|---------|--------------------------| | expression | ✅ | ✅ | | -i interface, --interface=interface | ✅ | ✅ | | -w x.pcapng | ✅ | ✅ (प्रक्रिया जानकारी सहित) | | -w x.pcap | ✅ | ✅ (प्रक्रिया जानकारी के बिना) | | -w - | ✅ | ✅ | | -r x.pcapng, -r x.pcap | ✅ | ✅ | | -r - | ✅ | ✅ | | --pid process_id | | ✅ | | --pname process_name | | ✅ | | --uid user_id | | ✅ | | --container-id container_id | | ✅ | | --container-name container_name | | ✅ | | --pod-name pod_name.namespace | | ✅ | | -f, --follow-forks | | ✅ | | -- command [args] | | ✅ | | --netns path_to_net_ns | | ✅ | | --print | ✅ | ✅ | | -A | ✅ | ✅ | | -B bufer_size, --buffer-size=buffer_size | ✅ | | | -c count | ✅ | ✅ | | --count | ✅ | ✅ | | -C *file_size | ✅ | ✅ | | -d | ✅ | | | -dd | ✅ | | | -ddd | ✅ | | | -D, --list-interfaces | ✅ | ✅ | | -e | ✅ | | | -f | ✅ | ⛔ | | -F file | ✅ | ✅ | | -G rotate_seconds | ✅ | | | -h, --help | ✅ | ✅ | | -H | ✅ | | | -I, --monitor-mode | ✅ | | | --immediate-mode | ✅ | | | -j , --time-stamp-type= | ✅ | | | --time-stamp-precision= | ✅ | ✅ | | -J, --list-time-stamp-types | ✅ | | | --micro | ✅ | ✅ | | --nano | ✅ | ✅ | | -K, --dont-verify-checksums | ✅ | | | -l | ✅ | | | -L, --list-data-link-types | ✅ | | | -m | ✅ | | | -M | ✅ | | | -n | ✅ | ✅ | | -N | ✅ | | | -#, --number | ✅ | ✅ | | -O, --no-optimize | ✅ | | | -p, --no-promiscuous-mode | ✅ | ⛔ | | -q | ✅ | ✅ | | -Q , --direction= | ✅ | ✅ | | -S, --absolute-tcp-sequence-numbers | ✅ | ✅ | | -s , --snapshot-length= | ✅ | ✅ | | -T | ✅ | | | -t | ✅ | ✅ | | -tt | ✅ | ✅ | | -ttt | ✅ | ✅ | | -tttt | ✅ | ✅ | | -ttttt | ✅ | ✅ | | -u | ✅ | | | -U, --packet-buffered | ✅ | | | -y , --linktype= | ✅ | | | -v | ✅ | ✅ | | -vv | ✅ | ⭕ | | -vvv | ✅ | ⭕ | | -V | ✅ | | | --version | ✅ | ✅ | | -W | ✅ | ✅ | | -x | ✅ | ✅ | | -xx | ✅ | ✅ | | -X | ✅ | ✅ | | -XX | ✅ | ✅ | | -z | ✅ | | | -Z , --relinquish-privileges= | ✅ | |

🔝

विकास

निर्भरताएँ

सुनिश्चित करें कि आपके सिस्टम पर निम्नलिखित निर्भरताएँ स्थापित हैं:

  • Go >= 1.23
  • Clang/LLVM >= 14
  • Bison >= 3.8
  • Lex/Flex >= 2.6
  • GCC
  • GNU make
  • autoconf
  • libelf

Debian/Ubuntu सिस्टम पर, आप इनमें से अधिकांश को निम्न प्रकार से स्थापित कर सकते हैं:

root@kitploit:~
sudo apt-get update
sudo apt-get install -y build-essential clang llvm bison flex \
     make autoconf libelf-dev

निर्माण

ptcpdump बनाने में दो मुख्य चरण शामिल हैं: eBPF बाइटकोड उत्पन्न करना (वैकल्पिक यदि आप eBPF कोड को संशोधित नहीं करते हैं) और Go एप्लिकेशन को संकलित करना।

1. eBPF प्रोग्राम बनाएँ (वैकल्पिक)

यह चरण bpf/ निर्देशिका में स्थित C eBPF कोड को कई लक्ष्य आर्किटेक्चर (amd64, arm64, arm) के लिए बाइटकोड में संकलित करता है। उत्पन्न बाइटकोड को फिर अंतिम ptcpdump Go निष्पादनीय में एम्बेड किया जाता है। आपको यह चरण केवल तभी चलाने की आवश्यकता है यदि आप eBPF स्रोत कोड को संशोधित करते हैं या यदि पूर्व-उत्पन्न फ़ाइलें गायब हैं।

  • नेटिव बिल्ड: स्थानीय रूप से Clang/LLVM स्थापित होना आवश्यक है।

    root@kitploit:~
    make build-bpf
    
  • Docker का उपयोग करके: यदि आपके पास आवश्यक C बिल्ड टूलचेन स्थानीय रूप से नहीं है तो इसका उपयोग करें। यह एक पूर्व-कॉन्फ़िगर विकास इमेज का उपयोग करता है।

    root@kitploit:~
    make build-bpf-via-docker
    

2. ptcpdump निष्पादनीय बनाएँ

eBPF बाइटकोड उत्पन्न होने के बाद (या पूर्व-उत्पन्न वाले का उपयोग करके), आप मुख्य Go एप्लिकेशन को संकलित कर सकते हैं।

  • स्थैतिक बिल्ड (अनुशंसित): यह अपनी सभी निर्भरताओं सहित ptcpdump बनाता है, जिसमें libpcap का बंडल संस्करण (lib/libpcap उपमॉड्यूल से) शामिल है, जो अंतिम निष्पादनीय में स्थैतिक रूप से जुड़ा होता है। इसके परिणामस्वरूप एक पोर्टेबल बाइनरी प्राप्त होती है जिसकी कोई बाहरी लाइब्रेरी निर्भरता नहीं होती। यह डिफ़ॉल्ट और अनुशंसित तरीका है।

    • नेटिव बिल्ड: यह कमांड पहले सुनिश्चित करता है कि बंडल किया गया libpcap संकलित हो, फिर स्थैतिक ptcpdump निष्पादनीय बनाता है।

      root@kitploit:~
      # यह पहले libpcap बनाता है, फिर स्थैतिक रूप से ptcpdump बनाता है
      make build
      
    • Docker का उपयोग करके: विकास कंटेनर के अंदर स्थैतिक निष्पादनीय बनाता है।

      root@kitploit:~
      make build-via-docker
      
  • डायनामिक बिल्ड: यह ptcpdump को सिस्टम पर स्थापित libpcap लाइब्रेरी के साथ गतिशील रूप से जोड़ता है। आपके सिस्टम पर पहले से libpcap डेवलपमेंट पैकेज स्थापित होना चाहिए (जैसे, Debian/Ubuntu पर libpcap-dev, Fedora/CentOS पर )। इसके परिणामस्वरूप एक छोटा निष्पादनीय होता है लेकिन लक्ष्य सिस्टम पर की आवश्यकता होती है।

अंतिम निष्पादनीय प्रोजेक्ट की रूट निर्देशिका में बनाया जाएगा (जैसे, ./ptcpdump)।

🔝

संबंधित परियोजनाएँ

Flownix

Flownix Linux सिस्टम के लिए एक ग्राफिकल, रीयल-टाइम, फ्लो-आधारित नेटवर्क ट्रैफिक विश्लेषक है। यह ptcpdump बाइनरी का उपयोग करके पैकेट कैप्चर करता है, प्रत्येक फ्लो के बारे में विस्तृत मेटाडेटा निकालता है, इसे SQLite में संग्रहीत करता है, और सब कुछ एक स्वच्छ, उत्तरदायी Dash वेब इंटरफ़ेस में विज़ुअलाइज़ करता है।

flownix overview 1 flownix overview 2

रिपॉजिटरी: VISION-183/flownix

🔝

टूल डाउनलोड करें
  • 🚀 कर्नेल-स्पेस BPF फ़िल्टरिंग (कम ओवरहेड, CPU उपयोग कम करता है)।
  • ⚡ कंटेनर रनटाइम एकीकरण (Docker, containerd)।
  • विकल्पबैकएंडनोट
    CONFIG_BPF=yदोनोंआवश्यक
    CONFIG_BPF_SYSCALL=yदोनोंआवश्यक
    CONFIG_DEBUG_INFO=yदोनोंआवश्यक
    CONFIG_DEBUG_INFO_BTF=yदोनोंआवश्यक
    CONFIG_KPROBES=yदोनोंआवश्यक
    CONFIG_KPROBE_EVENTS=yदोनोंआवश्यक
    CONFIG_TRACEPOINTS=yदोनोंआवश्यक
    CONFIG_PERF_EVENTS=yदोनोंआवश्यक
    CONFIG_NET=yदोनोंआवश्यक
    CONFIG_NET_SCHED=ytcआवश्यक
    CONFIG_NET_CLS_BPF=ytcआवश्यक
    CONFIG_NET_ACT_BPF=ytcआवश्यक
    CONFIG_NET_SCH_INGRESS=ytcआवश्यक
    CONFIG_CGROUPS=ycgroup-skbआवश्यक
    CONFIG_CGROUP_BPF=ycgroup-skbआवश्यक
    CONFIG_FILTER=ysocket-filterआवश्यक
    CONFIG_BPF_TRAMPOLINE=ytp-btfआवश्यक
    CONFIG_SECURITY=yदोनोंवैकल्पिक (अनुशंसित)
    CONFIG_BPF_TRAMPOLINE=yदोनोंवैकल्पिक (अनुशंसित)
    CONFIG_SOCK_CGROUP_DATA=yदोनोंवैकल्पिक (अनुशंसित)
    CONFIG_BPF_JIT=yदोनोंवैकल्पिक (अनुशंसित)
    CONFIG_CGROUP_BPF=ytc, tp-btf, socket-filterवैकल्पिक (अनुशंसित)
    CONFIG_CGROUPS=ytc, tp-btf, socket-filterवैकल्पिक (अनुशंसित)

    आप zgrep $OPTION /proc/config.gz का उपयोग करके जांच सकते हैं कि कोई विकल्प सक्षम है या नहीं।

    tccgroup-skbsocket-filtertp-btf
    eBPF प्रोग्राम प्रकारBPF_PROG_TYPE_SCHED_CLSBPF_PROG_TYPE_CGROUP_SKBBPF_PROG_TYPE_SOCKET_FILTERBPF_PROG_TYPE_TRACING
    L2 डेटा✅❌✅✅
    क्रॉस नेटवर्क नेमस्पेस❌✅❌✅
    कर्नेल संस्करण5.2+5.2+5.4+5.5+
    cgroup v2अनुशंसितआवश्यकअनुशंसितअनुशंसित
  • --backend cgroup-skb:

    root@kitploit:~
    $ sudo ptcpdump -i any --backend cgroup-skb host 1.1.1.1
    
    12:11:28.009182 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [S], seq 615672474, win 64240, options [mss 146063 ecr 0,nop,wscale 7], length 0, Thread [curl.402475], ParentProc [bash.321004]
    12:11:28.113815 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [S.], seq 1810787293, ack 615672475, win 64240, gth 0, ParentProc [bash.321004]
    12:11:28.113849 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672475, ack 1810787294, win 64240, ash.321004]
    12:11:28.114212 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [P.], seq 615672475:615672545, ack 1810787294, hread [curl.402475], ParentProc [bash.321004]
    12:11:28.115409 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787294, ack 615672545, win 64240, lsh.321004]
    12:11:28.534596 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [P.], seq 1810787294:1810787680, ack 615672545, ParentProc [bash.321004]
    12:11:28.534738 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672545, ack 1810787680, win 63854, ash.321004]
    12:11:28.536967 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [F.], seq 615672545, ack 1810787680, win 63854,.402475], ParentProc [bash.321004]
    12:11:28.538189 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787680, ack 615672546, win 64239, lsh.321004]
    12:11:28.642419 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672546, ack 1810787681, win 63854, ash.321004]
    
  • --backend socket-filter:

    root@kitploit:~
    $ sudo ptcpdump -i any --backend socket-filter host 1.1.1.1
    
    12:11:28.009426 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [S], seq 615672474, win 64240, options [mss 146063 ecr 0,nop,wscale 7], length 0, ParentProc [bash.321004]
    12:11:28.113762 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [S.], seq 1810787293, ack 615672475, win 64240, gth 0, ParentProc [bash.321004]
    12:11:28.113861 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672475, ack 1810787294, win 64240, ash.321004]
    12:11:28.114503 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [P.], seq 615672475:615672545, ack 1810787294, arentProc [bash.321004]
    12:11:28.115335 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787294, ack 615672545, win 64240, lsh.321004]
    12:11:28.534424 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [P.], seq 1810787294:1810787680, ack 615672545, ParentProc [bash.321004]
    12:11:28.534825 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672545, ack 1810787680, win 63854, ash.321004]
    12:11:28.537088 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [F.], seq 615672545, ack 1810787680, win 63854,bash.321004]
    12:11:28.538153 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787680, ack 615672546, win 64239, lsh.321004]
    12:11:28.642247 ens33 curl.402475 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [FP.], seq 1810787680, ack 615672546, win 64239,bash.321004]
    12:11:28.642537 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672546, ack 1810787681, win 63854, ash.321004]
    
  • --backend tp-btf:

    root@kitploit:~
    $ sudo ptcpdump -i any --backend tp-btf host 1.1.1.112:11:28.009353 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [S], seq 615672474, win 64240, options [mss 146063 ecr 0,nop,wscale 7], length 0, ParentProc [bash.321004]
    12:11:28.113739 ens33 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [S.], seq 1810787293, ack 615672475, win 64240, options [mss
    12:11:28.113857 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672475, ack 1810787294, win 64240, ash.321004]
    12:11:28.114225 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [P.], seq 615672475:615672545, ack 1810787294, arentProc [bash.321004]
    12:11:28.115242 ens33 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787294, ack 615672545, win 64240, length 0
    12:11:28.534245 ens33 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [P.], seq 1810787294:1810787680, ack 615672545, win 64240, l
    12:11:28.534768 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672545, ack 1810787680, win 63854, ash.321004]
    12:11:28.537038 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [F.], seq 615672545, ack 1810787680, win 63854,bash.321004]
    12:11:28.538129 ens33 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [.], seq 1810787680, ack 615672546, win 64239, length 0
    12:11:28.642088 ens33 In IP 1.1.1.1.80 > 10.0.2.15.48448: Flags [FP.], seq 1810787680, ack 615672546, win 64239, length 0
    12:11:28.642523 ens33 curl.402475 Out IP 10.0.2.15.48448 > 1.1.1.1.80: Flags [.], seq 615672546, ack 1810787681, win 63854, ash.321004]
    
    • डोकर कंटेनर में curl http://1.1.1.1 चलाना:
    • --backend tc:

      root@kitploit:~
      $ sudo ptcpdump -i any --backend tc host 1.1.1.1
      
      12:20:31.336397 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.336533 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.336794 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0
      12:20:31.468027 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0
      12:20:31.467769 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.467781 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468025 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468042 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468061 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0
      12:20:31.468089 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468093 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468110 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71
      12:20:31.468464 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0
      12:20:31.468535 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468558 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575461 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386
      12:20:31.575576 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575613 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575877 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575890 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575916 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0
      12:20:31.577079 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577107 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577146 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0
      12:20:31.577736 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0
      12:20:31.577761 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577773 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687029 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0
      12:20:31.687166 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687214 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687398 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687413 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687453 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0
      
    • --backend cgroup-skb:

      root@kitploit:~
      $ sudo ptcpdump -i any --backend cgroup-skb host 1.1.1.1
      
      12:20:31.336108 45@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0, Thread [curl.405939], ParentProc [bash.405653], Container [musing_banach]
      12:20:31.467819 45@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.467876 45@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468072 45@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71, Thread [curl.405939], ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468681 45@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575750 45@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575848 45@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.576982 45@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0, Thread [curl.405939], ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577843 45@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687357 45@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      
    • --backend socket-filter:

      root@kitploit:~
      $ sudo ptcpdump -i any --backend socket-filter host 1.1.1.1
      
      12:20:31.336456 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.336818 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0
      12:20:31.467700 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0
      12:20:31.467776 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.467784 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468030 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468066 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0
      12:20:31.468092 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468122 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71
      12:20:31.468461 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0
      12:20:31.468552 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468565 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575416 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386
      12:20:31.575601 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575623 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575889 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575928 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0
      12:20:31.577085 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577153 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0
      12:20:31.577733 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0
      12:20:31.577770 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577778 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687015 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0
      12:20:31.687206 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687223 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687409 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687464 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0
      
    • --backend tp-btf:

      root@kitploit:~
      $ sudo ptcpdump -i any --backend tp-btf host 1.1.1.112:20:31.336316 eth0@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.336382 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.336443 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.336801 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [S], seq 3064539219, win 64240, options [mss 1460,sackOK,TS val 1731159046 ecr 0,nop,wscale 7], length 0
      12:20:31.467682 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0
      12:20:31.467773 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.467783 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.467811 eth0@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [S.], seq 488132001, ack 3064539220, win 64240, options [mss 1460], length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468005 eth0@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468022 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468029 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468063 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539220, ack 488132002, win 64240, length 0
      12:20:31.468078 eth0@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468085 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468091 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468112 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [P.], seq 3064539220:3064539291, ack 488132002, win 64240, length 71
      12:20:31.468446 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0
      12:20:31.468543 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468562 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.468668 eth0@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132002, ack 3064539291, win 64240, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575358 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386
      12:20:31.575586 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575617 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575732 eth0@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [P.], seq 488132002:488132388, ack 3064539291, win 64240, length 386, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575855 eth0@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575870 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575883 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.575920 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539291, ack 488132388, win 63854, length 0
      12:20:31.577059 eth0@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577074 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577082 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577148 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [F.], seq 3064539291, ack 488132388, win 63854, length 0
      12:20:31.577704 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0
      12:20:31.577764 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577774 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.577835 eth0@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.686955 ens33 In IP 1.1.1.1.80 > 10.0.2.15.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0
      12:20:31.687183 docker0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687218 veth1d387b0 curl.405939 Out IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687316 eth0@4026533097 curl.405939 In IP 1.1.1.1.80 > 172.17.0.4.38670: Flags [FP.], seq 488132388, ack 3064539292, win 64239, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687369 eth0@4026533097 curl.405939 Out IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687388 veth1d387b0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687404 docker0 curl.405939 In IP 172.17.0.4.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0, ParentProc [bash.405653], Container [musing_banach]
      12:20:31.687457 ens33 Out IP 10.0.2.15.38670 > 1.1.1.1.80: Flags [.], seq 3064539292, ack 488132389, win 63854, length 0
      
    tstamp_type
    tstamp_type
    tstamp_precision
    module
    secret
    direction
    direction
    snaplen
    snaplen
    type
    datalinktype
    datalinktype
    file
    filecont
    postrotate-command
    user
    user
    libpcap-devel
    libpcap
    root@kitploit:~
     # पहले सुनिश्चित करें कि libpcap डेवलपमेंट पैकेज स्थापित है
     # उदा., sudo apt-get install libpcap-dev
     make build-dynamic-link