Trăn lửa shodan

@staticmethod def query_skyhook(bssid). Người khai thác gỗ. log_more_verbose("Truy vấn Skyhook cho. %s" % bssid) thử. r = Skyhook(). xác định vị trí (bssid) nếu r. xml = ET. fromstring(r) ns = "{http. //skyhook không dây. com/wps/2005}" err=xml. tìm thấy(". //%serror" %ns) nếu err không phải là Không có. Người khai thác gỗ. log_error_verbose( "Phản hồi từ Skyhook. %s" % lỗi. văn bản) return return { "vĩ độ". phao (xml. tìm thấy(". //%slatitude" %ns). văn bản), "kinh độ". phao (xml. tìm thấy(". //% kinh độ" % ns). văn bản), "hpe". phao (xml. tìm thấy(". //%shpe" % ns). văn bản), "trạng thái". xml. tìm thấy(". //%trạng thái" %ns). văn bản, "state_code". xml. tìm thấy(". //%trạng thái" %ns). get("mã"), "quốc gia". xml. tìm thấy(". //% gia" % ns). văn bản, "mã_quốc gia". xml. tìm thấy(". //% gia" % ns). nhận được mã"),

Nếu bạn có gói API thì bạn sẽ nhận được một số tín dụng truy vấn nhất định mà bạn có thể chi tiêu mỗi tháng. Đối với những người có Tư cách thành viên Shodan, điều đó có nghĩa là bạn nhận được 100 tín dụng truy vấn mỗi tháng trong khi đối với các gói API, nó có thể dao động từ 10.000 đến không giới hạn

1 truy vấn tín dụng = 100 kết quả

Mỗi tín dụng truy vấn giúp bạn nhận được tối đa 100 kết quả, nghĩa là bạn có thể tải xuống ít nhất 10.000 kết quả mỗi tháng - bất kể loại tìm kiếm bạn đang thực hiện

Nếu bạn có đăng ký Dữ liệu doanh nghiệp thì bạn có thể tải xuống toàn bộ cơ sở dữ liệu Shodan. Để biết thêm thông tin về các dịch vụ doanh nghiệp của chúng tôi, vui lòng liên hệ sales@shodan. io

Yêu cầu

Để làm theo hướng dẫn này, bạn phải cài đặt thư viện Shodan Python. Hầu hết các hệ điều hành dựa trên Unix đã được cài đặt sẵn Python, vì vậy tất cả những gì bạn cần nhập để cài đặt thư viện Shodan là

$ sudo easy_install shodan

Nếu bạn đang dùng Ubuntu và chưa có easy_install, vui lòng chạy lệnh sau trước

$ sudo apt-get install python-setuptools

Sau khi bạn đã cài đặt thư viện, bạn có thể kiểm tra xem nó có hoạt động hay không bằng cách gõ shodan vào dấu nhắc lệnh/thiết bị đầu cuối

$ shodan
Usage: shodan [OPTIONS] COMMAND [ARGS]...

Options:
    -h, --help  Show this message and exit.

Commands:
    alert       Manage the network alerts for your account
    convert     Convert the given input data file into a...
    count       Returns the number of results for a search
    download    Download search results and save them in a...
    honeyscore  Check whether the IP is a honeypot or not.
    host        View all available information for an IP...
    info        Shows general information about your account
    init        Initialize the Shodan command-line
    myip        Print your external IP address
    parse       Extract information out of compressed JSON...
    scan        Scan an IP/ netblock using Shodan.
    search      Search the Shodan database
    stats       Provide summary information about a search...
    stream      Stream data in real-time.

Cuối cùng, hãy khởi tạo công cụ bằng khóa API mà bạn có thể lấy từ trang tài khoản của mình

$ shodan init YOUR_API_KEY

Sử dụng giao diện dòng lệnh

Shodan CLI cung cấp quyền truy cập vào hầu hết các chức năng của API trong giao diện thân thiện với người dùng. Nó cũng bao gồm một lệnh để dễ dàng tải xuống dữ liệu bằng tín dụng truy vấn từ API của bạn. Đây là một video nhanh cho thấy nó hoạt động như thế nào

Cơ bản của nó là

$ shodan download --limit   

Ví dụ: đây là lệnh tải xuống 500 kết quả cho truy vấn tìm kiếm "product. mongodb" trả về các dịch vụ MongoDB đối mặt với Internet

$ shodan download --limit 500 mongodb-results product:mongodb

Kết quả của lệnh trên sẽ được lưu trong tệp có tên là mongodb-results. json. gz. Tại thời điểm này, bạn có thể dễ dàng chuyển đổi tệp thành CSV, KML hoặc đơn giản là xuất danh sách IP. cặp cổng bằng cách sử dụng lệnh phân tích cú pháp shodan

$ shodan parse --fields ip_str,port --separator , mongodb.json.gz

Lập trình với Shodan API

CLI sẽ hoạt động cho hầu hết các mục đích nhưng đôi khi bạn muốn thực hiện các chuyển đổi tùy chỉnh trên các biểu ngữ khi bạn đang tải chúng xuống. Hoặc bạn không muốn lưu trữ thông tin trong tệp cục bộ. Trong những trường hợp đó, bạn có thể sử dụng một phương thức trợ giúp thuận tiện do thư viện Python cung cấp cho Shodan được gọi là search_cursor() để lặp lại các kết quả

from shodan import Shodan
from shodan.cli.helpers import get_api_key

api = Shodan(get_api_key())

limit = 500
counter = 0
for banner in api.search_cursor('product:mongodb'):
    # Perform some custom manipulations or stream the results to a database
    # For this example, I'll just print out the "data" property
    print(banner['data'])
    
    # Keep track of how many results have been downloaded so we don't use up all our query credits
    counter += 1
    if counter >= limit:
        break

Phần kết luận

Chúng ta đã thảo luận về cách tải xuống dữ liệu bằng CLI, cách trích xuất các thuộc tính khỏi dữ liệu đó, cách chuyển đổi dữ liệu sang các định dạng tệp khác và cách xử lý trực tiếp kết quả tìm kiếm trong Python. Để biết ví dụ hoàn chỉnh sử dụng các kỹ năng này, hãy xem cách theo dõi các trang web bị tấn công

Shodan trong Python là gì?

Shodan là công cụ tìm kiếm cho các thiết bị kết nối Internet . Google cho phép bạn tìm kiếm trang web, Shodan cho phép bạn tìm kiếm thiết bị. Thư viện này cung cấp cho các nhà phát triển quyền truy cập dễ dàng vào tất cả dữ liệu được lưu trữ trong Shodan để tự động hóa các tác vụ và tích hợp vào các công cụ hiện có.

Shodan có API không?

API Shodan là cách dễ dàng nhất để cung cấp cho người dùng công cụ của bạn quyền truy cập vào dữ liệu Shodan. API cung cấp quyền truy cập vào tất cả dữ liệu được lưu trữ trong Shodan, cho phép bạn lấy chính xác thông tin bạn muốn.

API Shodan có miễn phí không?

Để sử dụng API, bạn cần có khóa API, bạn có thể nhận khóa này miễn phí bằng cách tạo tài khoản Shodan .

Phương pháp API Shodan được sử dụng để thực hiện quét IP hoặc mạng theo yêu cầu là gì?

Shodan CLI là cách dễ dàng nhất để bắt đầu với khả năng quét theo yêu cầu. Nó cho phép bạn tự động hóa nhiệm vụ gửi yêu cầu quét tới Shodan mà không cần viết bất kỳ mã nào. API Shodan linh hoạt hơn nhưng yêu cầu bạn tạo tập lệnh của riêng mình .