आप सामान्य रूप से, OS X पर कमांड का उपयोग करके एक .jarफ़ाइल (जो कि एक जावा आर्काइव फ़ाइल है ) चला सकते हैं। openयह एक निष्पादन योग्य फ़ाइल नहीं है, यह सिस्टम को इस बारे में कोई संकेत नहीं देता है कि इसे सामान्य रूप से कैसे चलाया जाना चाहिए, इसलिए openआपको दे रहा है LSOpenURLsWithRole()त्रुटि ऊपर दिखने वाला।
सबसे पहले, आपको अपने मैक पर जावा स्थापित करना होगा। ऐसा करने का सबसे आसान तरीका एक Terminal.appखिड़की खोलना है और टाइप करना है:
java -version
यदि वह एक जावा संस्करण इस प्रकार लौटाता है:
IanCsiMac:~ |ruby-2.1.5|
> java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
हो गया। जावा उपयोग के लिए तैयार है। यदि जावा आपके सिस्टम पर मौजूद नहीं है, तो उस कमांड को चलाने से विंडो पूछेगा कि क्या आप इसे इंस्टॉल करना चाहते हैं। संकेतों का पालन करें और जब आप कर रहे हों, java -versionतो आपको कुछ ऐसा दिखाई देगा जैसा आप ऊपर देख रहे हैं। संस्करण अलग हो सकता है, लेकिन कमांड अब काम करेगा।
अब आपको कमांड .jarका उपयोग करके अपनी फ़ाइल चलाने की आवश्यकता है java। javaइस कार्य के लिए आपको आदेश में तीन विकल्प प्रदान करने की आवश्यकता है :
-jarजो बताता है विकल्प javaआप एक जावा संग्रह फ़ाइल की सामग्री को चला रहे हैं;
- फॉर्म में जावा वर्चुअल मशीन के लिए एक मेमोरी विकल्प
-Xmx1024m; और अंत में
.jarडिस्क पर फ़ाइल का पथ ।
आपके डाउनलोड के लिए यह सब कुछ इस तरह दिखने वाला है:
java -jar -Xmx1024m /Users/user/Downloads/burpsuite_free_v1.6.01.jar
यह कार्यक्रम शुरू कर देगा यह अभी भी 80 और 443 बंदरगाहों पर बांधने में सक्षम नहीं होगा। वे संरक्षित बंदरगाह हैं। किसी भी मैक ओएस एक्स मशीन पर पोर्ट <1024 केवल प्रक्रियाओं के रूप में शुरू होने के लिए बाध्य हो सकते हैं root।
प्रोग्राम को चलाने का सही तरीका है सूडो कमांडroot का उपयोग करना , न कि उपयोगकर्ता के रूप में । यह आपके कार्यों को नियंत्रण और अप्रत्यक्ष रूप से एक स्तर प्रदान करता है ताकि आप गलती से मूर्खतापूर्ण कुछ भी न करें जैसे कि बिना किसी संकेत के अगर आप सुनिश्चित करें कि आप ऐसा मूर्खतापूर्ण काम करना चाहते हैं।loginrootrm -rf /
तो, आपकी आज्ञा का अंतिम रूप होगा:
sudo java -jar -Xmx1024m /Users/user/Downloads/burpsuite_free_v1.6.01.jar
आपको अपने पासवर्ड के लिए संकेत दिया जाएगा और, यह मानते हुए कि कुछ और नहीं पहले से ही पोर्ट 80 और 443 के लिए बाध्य है, आपका आवेदन शुरू हो जाएगा और उन बंदरगाहों पर सुन रहा होगा।
यदि यह विफल हो जाता है क्योंकि यह 80 और 443 से बंध नहीं सकता है, तो आपको यह पता लगाने की आवश्यकता होगी कि वहां पहले से ही क्या है और इसे बंद कर दें। इसका पता लगाने के लिए आप lsof कमांड का उपयोग कर सकते हैं ।
पोर्ट 80 के लिए कॉल है:
sudo lsof -iTCP:80 -sTCP:LISTEN -n -P
443 के लिए यह है:
sudo lsof -iTCP:443 -sTCP:LISTEN -n -P
उस कमांड से आउटपुट, यह मानते हुए कि पोर्ट पर कुछ सुन रहा है, कुछ इस तरह दिखेगा:
> sudo lsof -iTCP:80 -sTCP:LISTEN -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 50 root 9u IPv6 0x8978b255ac4ef0b7 0t0 TCP *:80 (LISTEN)
जैसा कि आप देख सकते हैं, मेरे पास एक प्रक्रिया है जिसका नाम nginxश्रवण पोर्ट 80 है। इसकी प्रक्रिया आईडी 50 है।
मैं उस प्रक्रिया को मार सकता हूं:
sudo pkill nginx
यह जरूरी नहीं है कि यह कोशिश नहीं करेगा और वापस आने के लिए नहीं, लेकिन पूरी तरह से और पूरी तरह से पूरी तरह से अलग साइट पर अलग सवाल के रूप में कहा गया है।