आप सामान्य रूप से, 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
का उपयोग करना , न कि उपयोगकर्ता के रूप में । यह आपके कार्यों को नियंत्रण और अप्रत्यक्ष रूप से एक स्तर प्रदान करता है ताकि आप गलती से मूर्खतापूर्ण कुछ भी न करें जैसे कि बिना किसी संकेत के अगर आप सुनिश्चित करें कि आप ऐसा मूर्खतापूर्ण काम करना चाहते हैं।login
root
rm -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
यह जरूरी नहीं है कि यह कोशिश नहीं करेगा और वापस आने के लिए नहीं, लेकिन पूरी तरह से और पूरी तरह से पूरी तरह से अलग साइट पर अलग सवाल के रूप में कहा गया है।