2010-02-04 11 views
17

गुगलिंग ने मुझे अच्छे नतीजे नहीं दिए। क्या वायरशर्क के लिए कोई भी प्रकार का एपीआई है जो मुख्य स्रोत कोड से अलग हो जाता है ताकि हम उन कार्यक्रमों को विकसित कर सकें जो इसके साथ बातचीत करते हैं और जो डेटा प्रदान करते हैं उससे निपटते हैं?क्या वायरसहार्क के लिए कोई एपीआई है, प्रोग्राम/प्लगइन्स विकसित करने के लिए जो इसके साथ बातचीत/इसे बढ़ाते हैं?

संपादित करें: मैं पैकेट प्राप्त करने के विभिन्न तरीकों के सुझावों की सराहना करता हूं, लेकिन मैं वायरसर्क में पैकेट इंजेक्शन को कार्यान्वित करना चाहता हूं। स्नीफिंग मेरे प्रोजेक्ट का एक महत्वपूर्ण हिस्सा होगा, हालांकि मुझे यकीन नहीं है कि सुझाया गया समाधान पैकेट इंजेक्शन के लिए अनुमति देता है।

+0

आपके द्वारा प्रदान किए जाने वाले डेटा से आपका क्या मतलब है? क्या यह फोमेटेड आउटपुट है? या नेटवर्किंग डेटा एकत्र करने की क्षमता? – doron

+0

नेटवर्किंग डेटा एकत्र करने की क्षमता वायरशर्क के लिए अद्वितीय नहीं है। हालांकि, वायरशर्क का इंटरफ़ेस इसे उपयोगी डेटा बनाता है और मैं इसके लिए एक प्लगइन विकसित करने की उम्मीद कर रहा था। हालांकि यह शुरू करने के लिए बस सभी स्रोत कोड को सॉर्ट करने के लिए एक भारी कार्य की तरह लगता है – jim

उत्तर

0

मैं developer's guide में संभव होने के लिए इंगित करने वाली कोई भी जानकारी नहीं ढूंढ पा रहा था। तो ऐसा लगता है कि "नहीं" इंगित करता है।

0

चूंकि कम से कम one है जो वाणिज्यिक उत्पादों को बनाता है जो कुछ हद तक वायरसहार्क के साथ एकीकृत करते हैं, यह संभव है। ऐसा लगता है कि तत्काल एकीकरण बिंदु विकिपीडिया के अनुसार उत्पादित करता है, Wiresharklibpcap का उपयोग करता है। एक त्वरित Google खोज से पता चलता है कि कई options

Scapy वास्तव में दिलचस्प दिखता है, हालांकि यह वास्तव में तारों के साथ बातचीत करने के लिए कुछ भी नहीं करता है, लेकिन आप इसके साथ पैकेट कैप्चर कर सकते हैं।

2

tshark Wireshark के कार्यक्षमता विश्लेषकों और डेटा मैनिपुलेशन क्षमताओं का उपयोग करने के लिए देख रहे हैं, तो Wireshark की कार्यक्षमता के लिए एक सीएलआई प्रदान करता है।

यदि आप वायरसहार्क के source code में कुछ खुदाई करना चाहते हैं, तो इसमें कई सी पुस्तकालय हैं जो उपयोग में हो सकते हैं, विशेष रूप से वायरटैप और ईपीएन। इसके उपयोग के उदाहरण tshark source में पाए जा सकते हैं। हालांकि, पुस्तकालयों का उपयोग करने के लिए आपको काफी मचान बनाना होगा।

यदि आप प्लगइन्स विकसित करना चाहते हैं, तो this page आपके लिए कुछ जवाब रख सकता है।

6

मैं पैकेट पढ़ने के लिए का उपयोग करता हूं और dpkt पार्स पढ़ने के लिए उपयोग करता हूं।

उदाहरण के लिए, एक को बचाया PCAP से पैकेट को पढ़ने के लिए dpkt उपयोग करने के लिए:

import pcap 
    pc = pcap.pcapObject() 
    dev = sys.argv[1] 
    pc.open_live(dev, 1600, 0, 100) 
    pc.setfilter("udp port 53", 0, 0) 
    while 1: 
     pc.dispatch(1, p.pcap_dispatch) 
बेशक

, दोनों एक साथ इस्तेमाल किया जा सकता:

import socket 
import dpkt 
import sys 
pcapReader = dpkt.pcap.Reader(file(sys.argv[1], "rb")) 
for ts, data in pcapReader: 
    ether = dpkt.ethernet.Ethernet(data) 
    if ether.type != dpkt.ethernet.ETH_TYPE_IP: raise 
    ip = ether.data 
    src = socket.inet_ntoa(ip.src) 
    dst = socket.inet_ntoa(ip.dst) 
    print "%s -> %s" % (src, dst) 

pypcap के साथ तार बंद फ्रेम हड़पने के लिए : (pypcap के मुखपृष्ठ से फट)

>>> import dpkt, pcap 
>>> pc = pcap.pcap() 
>>> pc.setfilter('icmp') 
>>> for ts, pkt in pc: 
...  print `dpkt.ethernet.Ethernet(pkt)` 

गुड लक!

0

वायरसहार्क libpcap का उपयोग करता है, यह पुस्तकालय पैकेट स्नीफिंग और में प्लेटफ़ॉर्म अंतर को दूर करता है format for data files प्रदान करता है। इस तरह मैं पैरों को वायरशर्क में इंजेक्ट करता हूं।

2

वायरसहार्क के नए संस्करणों में लुआ स्क्रिप्टिंग का प्रयास करें .. आप कस्टम डिस्सेक्टर (अपने प्रोटोकॉल के लिए और इसी तरह) लिख सकते हैं।

http://wiki.wireshark.org/Lua

संबंधित मुद्दे

 संबंधित मुद्दे