क्या पाइथन में फ़ायरवॉल लिखना संभव है? कहें कि यह सभी यातायात को अवरुद्ध करेगा?क्या पाइथन में फ़ायरवॉल लिखना संभव है?
उत्तर
हाँ, हाँ यह है।
मेरे पास कुछ पायथन कोड है जो एनएफक्यू का उपयोग करके फ़ायरवॉलिंग कर्तव्यों को करने के लिए लिनक्स iptables के साथ इंटरैक्ट करता है। मैं iptables कि तरह लग रहा है में एक नियम का उपयोग कर सकते हैं:
iptables -A INPUT -j NFQUEUE --queue-num 1
और फिर कुछ अजगर कोड है कि लगता है कि है:
:import nfqueue
from dpkt import ip
q = None
def cb(dummy, payload):
# make decision about if the packet should be allowed. in this case, drop everything:
payload.set_verdict(nfqueue.NF_DROP)
q = nfqueue.queue()
q.open()
q.bind()
q.set_callback(cb)
q.create_queue(1)
q.try_run()
यहाँ एक अच्छा लिखने अप है कि इसके बाद के संस्करण कोड पर आधारित है
http://blog.yancomm.net/2011/05/nfqueue-packet-mangling-with-python.html
लेकिन, विंडोज़ पर अजगर के बारे में क्या? –
मुझे यकीन है कि यह संभवतः संभव है, लेकिन बीमार सलाह दी गई है। जैसा कि मैकंड्रे का उल्लेख है, अधिकांश ओएसई कम स्तर की नेटवर्किंग क्षमताओं को जोड़ते हैं जिन्हें आपको फ़ायरवॉल के लिए क्रेन में कसकर मजबूती मिलती है और इस प्रकार यह कार्य आमतौर पर सी/सी ++ में किया जाता है और कर्नेल के साथ कसकर एकीकृत होता है। माइक्रोक्रोनर ओएस (मैक एट अल) लिनक्स से अधिक अनुकूल हो सकता है। आप कुछ पायथन और सी मिश्रण करने में सक्षम हो सकते हैं, लेकिन मुझे लगता है कि यहां और अधिक रोचक चर्चा "मुझे क्यों चाहिए"/"मुझे क्यों नहीं चाहिए" पाइथन में फ़ायरवॉल को लागू करना चाहिए क्योंकि यह तकनीकी रूप से संभव है ।
मुझे यकीन नहीं है यहां, लेकिन क्या यह अजगर में गारंटी है कि आईआरक्यू समय-समय पर उपयोगकर्ता कोड तक पहुंचते हैं (पायथन परत पार करते हैं)? –
बीएसडी एक माइक्रोक्रोनल? क्या? –
@ गॉलम: यह अत्यधिक ऑपरेटिंग सिस्टम और प्रश्न में अधिसूचना विधि पर निर्भर करता है। पाइथन कोड को आईआरक्यू हैंडलर के रूप में चलाने के लिए कोई मानक नहीं है ... –
"हां" - आमतौर पर इसका जवाब है "क्या यह संभव है ...?" प्रशन।
कितना मुश्किल और विशिष्ट कार्यान्वयन पूरी तरह से कुछ और है। मुझे तकनीकी रूप से लगता है कि इस तरह से ऐसा नहीं करते हैं, अगर आप पाइथन में त्वरित फ़ायरवॉल बनाने के लिए नरक थे, तो आप सॉकेट पुस्तकालयों का उपयोग कर सकते हैं और प्रत्येक बंदरगाह पर अपने आप से कनेक्शन खोल सकते हैं। मेरे पास कोई सुराग नहीं है कि यह कितना प्रभावी होगा, हालांकि ऐसा लगता है कि ऐसा नहीं होगा। बेशक, यदि आप बस अपना खुद का रोल करने में रुचि रखते हैं, और इसे सीखने के अनुभव के रूप में कर रहे हैं, तो शांत हो, आपके पास और आपके पास बहुत सारी शिक्षा है।
ओटीओएच, यदि आप वास्तव में नेटवर्क सुरक्षा के बारे में चिंतित हैं, तो टन अन्य उत्पादों के बाहर हैं जिनका उपयोग आप * निक्स पर iptables से, विंडोज़ पर ज़ोन अलार्म से कर सकते हैं। उनमें से बहुत से स्वतंत्र और सुरक्षित दोनों हैं इसलिए "मैं सीखना चाहता हूं" आधार को छोड़कर खुद को रोल करने का कोई कारण नहीं है।
धन्यवाद :) - यह आधार सीखना चाहता है;) आमतौर पर पहिया निष्पादन को फिर से शुरू करने की आवश्यकता नहीं होती है अगर आप जानना चाहते हैं कि यह कैसे बनाया गया था। – Jake
मुझे यकीन है कि सिद्धांत में आप जो चाहते हैं उसे प्राप्त कर सकते हैं, लेकिन मुझे लगता है कि आपका विचार व्यावहारिक नहीं है (यदि आपको आश्चर्य है कि ऐसा क्यों है, तो ऐसा इसलिए है क्योंकि निम्न स्तर वाले उच्च स्तर की भाषा "इंटरफ़ेस" गिरी)।
इसके बजाय आप क्या कर सकते हैं कुछ पायथन टूल है जो ऑपरेटिंग सिस्टम की फ़ायरवॉल को नियंत्रित करता है ताकि आप नियम, डिलीट इत्यादि जोड़ सकें (इसी तरह लिनक्स में iptables क्या करता है)।
मैं देखता हूं। फ़ायरवॉल में कोई नियम कैसे जोड़ सकता है? – Jake
लिनक्स पर फ़ायरवॉल iptables कमांड के माध्यम से नियंत्रित किया जाता है। आप फ़ायरवॉल नियमों को कॉन्फ़िगर करने के लिए इसका उपयोग कर सकते हैं। http://linux.die.net/man/8/iptables –
दिलचस्प धागा। मैं पाइथन NFQUEUE उदाहरणों की तलाश में ठोकर खाई।
मेरा लेना है कि आप पाइथन में एक महान फ़ायरवॉल बना सकते हैं और कर्नेल का उपयोग कर सकते हैं।
उदा। आईपी टेबल के माध्यम से एक लिनक्स एफडब्ल्यू नियम जोड़ें जो कि क्या करना है यह तय करने के लिए पायथन एफडब्लू के लिए एनएफक्व्यूयू को सिस पैकेट (पहला) अग्रेषित करें।
यदि आप इसे एनएफक्व्यूई का उपयोग करके एफडब्लू चिह्न के साथ टीसीपी स्ट्रीम/प्रवाह को चिह्नित करते हैं और उसके बाद एक आईपीटीबल नियम है जो सभी ट्रैफिक धाराओं को चिह्न के साथ अनुमति देता है।
इस तरह आप एक शक्तिशाली उच्च स्तरीय पायथन प्रोग्राम कर सकते हैं जो यातायात को अनुमति देने या इनकार करने का निर्णय लेता है, और कर्नेल की गति उसी प्रवाह में अन्य सभी पैकेट को आगे बढ़ाने के लिए करता है।
पायथन-आईपटेबल्स लिनक्स के तहत iptables के लिए अजगर बाइंडिंग प्रदान करता है। Iptables के साथ इंटरऑपरेबिलिटी iptables सी लाइब्रेरीज़ (libiptc, libxtables, और iptables एक्सटेंशन) का उपयोग करके हासिल की जाती है, iptables बाइनरी को कॉल नहीं करते और इसके आउटपुट को पार्स नहीं करते हैं।
बहुत संभव है और एक पूरा ढांचा इसे यहाँ के लिए समर्पित है: https://github.com/austin-taylor/bluewall
उत्तर के रूप में लिंक पोस्ट करने के बजाय स्पष्टीकरण के लिए कुछ पाठ जोड़ें कि यह उत्तर वर्तमान समस्या को ठीक करने में ओपी को कैसे मदद करता है। धन्यवाद –
- 1. क्या पाइथन में वीएलसी प्लगइन लिखना संभव है?
- 2. क्या पाइथन का उपयोग कर विंडोज़ सेवा लिखना संभव है?
- 3. क्या वाक्यविन्यास लिखना संभव है -()()?
- 4. मैं अपनी फ़ायरवॉल लिखना कैसे शुरू करूं?
- 5. क्या स्काइप क्लाइंट लिखना संभव है?
- 6. क्या .NET में रंग में कंसोल को लिखना संभव है?
- 7. कॉफीस्क्रिप्ट में प्रोटोविस कोड लिखना संभव है?
- 8. जावास्क्रिप्ट में वेब क्रॉलर लिखना संभव है?
- 9. पाइथन में असीमित फ़ाइल लेखन संभव है?
- 10. क्या सी ++ में जेनेरिक वैरैडिक ज़िप लिखना संभव है?
- 11. क्या जावास्क्रिप्ट निष्पादन में mongodb कंसोल को लिखना संभव है?
- 12. क्या डेल्फी के डीबगर में एक्सटेंशन लिखना संभव है?
- 13. क्या सी में एक आत्म विनाशकारी कार्यक्रम लिखना संभव है?
- 14. क्या एक लाइन में पर्ल फोरैच लूप लिखना संभव है?
- 15. क्या वीएचडीएल में टाइप-जेनेरिक इकाइयां लिखना संभव है?
- 16. क्या vb.net या C# में असेंबली कोड लिखना संभव है?
- 17. निश्चित चौड़ाई लिखना, पाइथन
- 18. क्या पाइथन की फ़ाइल लिखना है() और urlopen() विधियों asynchronous?
- 19. फ़ायरवॉल
- 20. क्या कोड लिखने के लिए कोड लिखना संभव है?
- 21. क्या संरचना के बाहर ऑटो-कास्ट ऑपरेटर लिखना संभव है?
- 22. क्या मोबाइल फोन के लिए ओएस लिखना संभव है?
- 23. क्या SQLite क्वेरी लिखना संभव है जो रूट आइटम नोड
- 24. क्या कंसोल के लिए एक्सटेंशन विधियां लिखना संभव है?
- 25. फ़ायरवॉल
- 26. पाइथन 3 पाइप को लिखना
- 27. क्या पाइथन में एक अक्षर सीमा बनाना संभव है?
- 28. क्या पाइथन में/से आयात करना संभव है?
- 29. क्या पाइथन में अज्ञात वस्तुएं बनाना संभव है?
- 30. एक्सएमएलवाइटर के साथ मेमोरी में एक्सएमएल लिखना संभव है?
जो के लिए ऑपरेटिंग सिस्टम? पायथन को कर्नेल के नेटवर्क स्टैक के साथ काम करना होगा। – mcandre
उन्होंने निर्दिष्ट नहीं किया, इसलिए आगे बढ़ें और हाँ का उत्तर दें;) – Konerak
आप ऐसा क्यों चाहते हैं? क्या आप जानते हैं कि आपके पास मशीन (असेंबली) –