
कैप्चर किए गए नेटवर्क ट्रैफ़िक को मनमानी गति पर संपादित करें और पुनः चलाएँ — *NIX और Windows के लिए pcap टूल्स का एक सूट।
Tcpreplay, UNIX (और [Cygwin] के अंतर्गत Windows) के लिए [GPLv3] लाइसेंस प्राप्त उपयोगिताओं का एक सूट है, जो [tcpdump] और [Wireshark] जैसे टूल द्वारा पहले कैप्चर किए गए नेटवर्क ट्रैफ़िक को संपादित करने और रीप्ले करने के लिए है। यह ट्रैफ़िक को क्लाइंट या सर्वर के रूप में वर्गीकृत करता है, Layer 2/3/4 हेडर को फिर से लिखता है, और इसे स्विच, राउटर, फ़ायरवॉल, NIDS और IPS के माध्यम से नेटवर्क पर वापस रीप्ले करता है — किसी भी गति से, रिसाव से लेकर पूर्ण वायर रेट तक। Tcpreplay स्निफ़िंग और इन-लाइन दोनों डिवाइस के परीक्षण के लिए सिंगल और डुअल NIC दोनों मोड का समर्थन करता है।
Tcpreplay का उपयोग कई फ़ायरवॉल, IDS, IPS, NetFlow और अन्य नेटवर्किंग विक्रेताओं, उद्यमों, विश्वविद्यालयों, प्रयोगशालाओं और ओपन सोर्स प्रोजेक्ट्स द्वारा किया जाता है। यदि आपका संगठन Tcpreplay का उपयोग करता है, तो कृपया हमें बताएं कि आप कौन हैं और आप इसका उपयोग किस लिए करते हैं, ताकि हम उन सुविधाओं को प्राथमिकता देना जारी रख सकें जो मायने रखती हैं।
4.0 के बाद से, Tcpreplay विशेष रूप से [IP Flow][flow]/[NetFlow] उपकरण परीक्षण को भी लक्षित करता है: सटीक उच्च-दर प्लेबैक टाइमिंग और परिणाम रिपोर्टिंग, Flows Per Second (fps) आंकड़े, और फ़्लो उत्पाद की टाइमआउट सेटिंग्स को ट्यून करने के लिए फ़्लो-एक्सपायरी विश्लेषण — pcap फ़ाइल में फ़्लो आकार के आधार पर, प्रति सेकंड सैकड़ों हज़ार फ़्लो तक।
📖 पूर्ण दस्तावेज़ीकरण https://tcpreplay.appneta.com पर उपलब्ध है — एक गेटिंग-स्टार्टेड गाइड, प्रत्येक टूल के लिए एक पेज, हाउ-टू रेसिपी, सूट के पीछे की अवधारणाएं, मैन पेज, और FAQ। यह README एक त्वरित परिचय है; साइट संदर्भ है।
tcpreplay-edit) या IP पतों को रैंडमाइज़ करें (tcpreplay)tcpreplay आमतौर पर Layer 2 पर ही रहता है)पूर्ण रिलीज़ इतिहास के लिए CHANGELOG देखें।
नवीनतम रिलीज़ tarball डाउनलोड करें (SourceForge पर भी मिरर किया गया है), फिर:
tar xf tcpreplay-*.tar.xz && cd tcpreplay-*
./configure && make && sudo make install
एक रिलीज़ टारबॉल पहले से जनरेट किए गए CLI पार्सर और मैन पेज के साथ आती है, इसलिए इसमें C कंपाइलर और libpcap के अलावा कुछ भी आवश्यक नहीं है — नीचे स्रोत से बिल्ड करना देखें, केवल यदि आप git चेकआउट से काम कर रहे हैं, या CMake, netmap, AF_XDP या io_uring समर्थन चाहते हैं।
अधिक विस्तृत प्लेटफ़ॉर्म-विशिष्ट निर्देश टारबॉल में शामिल INSTALL फ़ाइल में हैं (यहाँ docs/INSTALL के समान सामग्री)।
git चेकआउट से बिल्ड करने के लिए *_opts.def फ़ाइलों से CLI विकल्प पार्सर और मैन पेज जनरेट करने हेतु python3 और asciidoctor (कोई भी बिल्ड सिस्टम) आवश्यक हैं — इस उद्देश्य के लिए 4.6 में इसने GNU AutoGen का स्थान लिया (AutoGen EOL है; ये नहीं हैं)। AutoGen स्वयं अभी भी केवल एक आंतरिक हेडर (src/tcpedit/tcpedit_stub.h) के लिए आवश्यक है — देखें scripts/autoopts/README.md। रिलीज़ टारबॉल बिल्ड करते समय इनमें से कुछ भी आवश्यक नहीं है, क्योंकि यह इन्हें पहले से जनरेट किए हुए शामिल करती है।
./autogen.sh # only needed once, from a git checkout
./configure
make
sudo make install
4.6 के अनुसार, सूट को CMake (3.16+) के साथ भी बनाया जा सकता है — Tcpreplay को संकलित करने का अनुशंसित और प्राथमिक तरीका। Autotools अभी भी प्रदान किया गया है और रिलीज़ टारबॉल्स के लिए उपयोग किया जाता है, लेकिन अंततः इसे हटा दिया जाएगा, इसलिए नई स्क्रिप्ट्स/पैकेजिंग को CMake को लक्षित करना चाहिए।
cmake -B build
cmake --build build
sudo cmake --install build
हर ./configure फ़्लैग का एक CMake समकक्ष है — CMakeLists.txt के शीर्ष पर दी गई तालिका देखें। कुछ उदाहरण:
# debug build with support for the -d option
cmake -B build -DENABLE_DEBUG=ON
# AddressSanitizer or ThreadSanitizer build
cmake -B build -DENABLE_ASAN=ON
cmake -B build -DENABLE_TSAN=ON
# custom libpcap install, static linking, custom tcpdump path
cmake -B build -DWITH_LIBPCAP=/usr/local/opt/libpcap \
-DENABLE_STATIC_LINK=ON -DWITH_TCPDUMP=/usr/sbin/tcpdump
# force a specific packet injection method
cmake -B build -DFORCE_INJECT_PCAP_SENDPACKET=ON
# several configurations side by side
cmake -B build-debug -DENABLE_DEBUG=ON
cmake -B build-release