Bạn không thể, bình thường, chạy một .jar
tập tin (là một Tệp ARchive Java ) sử dụng open
lệnh trên OS X. Đây không phải là tệp thực thi, nó không cung cấp cho hệ thống bất kỳ gợi ý nào về cách chạy bình thường, vì vậy open
đang cho bạn LSOpenURLsWithRole()
lỗi bạn thấy ở trên.
Trước tiên, bạn sẽ cần cài đặt Java trên máy Mac của mình. Cách dễ nhất để làm điều này là mở một Terminal.app
cửa sổ và loại:
java -version
Nếu điều đó trả về một phiên bản java như thế này:
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)
Bạn đã hoàn tất. Java đã sẵn sàng để được sử dụng. Nếu java không có trên hệ thống của bạn, chạy lệnh đó sẽ bật lên một cửa sổ hỏi bạn có muốn cài đặt nó không. Làm theo lời nhắc và khi bạn hoàn thành, java -version
sẽ cho bạn thấy một cái gì đó giống như những gì bạn thấy ở trên. Phiên bản có thể khác, nhưng lệnh bây giờ sẽ hoạt động.
Bây giờ bạn cần chạy .jar
tập tin sử dụng java
chỉ huy. Bạn cần cung cấp ba tùy chọn cho java
lệnh để làm việc này:
- Các
-jar
tùy chọn cho biết java
bạn đang chạy nội dung của tệp Java ARchive;
- Một tùy chọn bộ nhớ cho Máy ảo Java ở dạng
-Xmx1024m
; và cuối cùng
- Đường dẫn đến
.jar
tập tin trên đĩa.
Đối với tải xuống của bạn, tất cả sẽ trông như thế này:
java -jar -Xmx1024m /Users/user/Downloads/burpsuite_free_v1.6.01.jar
Điều đó sẽ bắt đầu chương trình TUY NHIÊN, nó vẫn không thể liên kết với các cổng 80 và 443. Đó là các cổng được bảo vệ. Các cổng & lt; 1024 trên mọi máy Mac OS X chỉ có thể bị ràng buộc để được xử lý bắt đầu như root
.
Cách chính xác để chạy các chương trình như root
là sử dụng lệnh sudo , không để login
như root
người dùng. Điều này cung cấp mức độ kiểm soát và quyết định hành động của bạn để bạn không làm điều gì đó vô tình ngớ ngẩn như rm -rf /
không cần phải hỏi bạn rằng bạn có chắc chắn muốn làm một điều ngớ ngẩn như vậy không.
Vì vậy, hình thức cuối cùng của lệnh của bạn sẽ là:
sudo java -jar -Xmx1024m /Users/user/Downloads/burpsuite_free_v1.6.01.jar
Bạn sẽ được nhắc nhập mật khẩu và giả sử không có gì khác bị ràng buộc với các cổng 80 và 443, ứng dụng của bạn sẽ bắt đầu và đang lắng nghe trên các cổng đó.
Nếu thất bại vì không thể liên kết với 80 và 443, bạn sẽ cần tìm hiểu những gì đã ràng buộc ở đó và tắt nó đi. Bạn có thể dùng lệnh lsof để tìm ra điều này.
Đối với cổng 80, cuộc gọi là:
sudo lsof -iTCP:80 -sTCP:LISTEN -n -P
Đối với 443 đó là:
sudo lsof -iTCP:443 -sTCP:LISTEN -n -P
Đầu ra từ lệnh đó, giả sử có gì đó đang lắng nghe trên cổng, sẽ trông giống như thế này:
> 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)
Như bạn thấy, tôi có một quy trình được đặt tên nginx
cổng nghe 80. Nó có quá trình ID 50.
Tôi có thể giết quá trình đó bằng:
sudo pkill nginx
Điều đó không nhất thiết đảm bảo nó sẽ không thử và quay lại, nhưng làm thế nào để giải quyết vấn đề này đầy đủ và hoàn toàn được nêu rõ nhất là câu hỏi hoàn toàn riêng biệt trên trang web.