Làm cách nào để quét tường lửa để tìm cổng mở?


9

Tôi đang tìm kiếm một công cụ mà tôi có thể sử dụng trong một mạng được tường lửa để quét tường lửa để tìm các cổng ra mở.

Tôi đã thực hiện một số nghiên cứu và tìm thấy Firewalk nhưng nó đã không được duy trì trong 10 năm và dường như nó không hoạt động với tôi khi tôi thử nó.

Tôi đã làm một số việc và thấy một số trang web nói rằng bạn có thể làm điều này với nmap, nhưng tôi cũng không thể làm việc này được.

Có ai biết một cách tốt hơn là thiết lập một hộp bên ngoài tường lửa lắng nghe trên mỗi cổng và cố gắng quét cổng từ bên trong không?

Câu trả lời:


4

Giả sử bạn có ba mạng con và một máy chủ trên một trong số chúng, nhưng muốn xem quy tắc nào được mở cho hai mạng kia. Tôi chạy quét nmap với hai cái kia từ máy chủ. Tôi thường sử dụng dòng này:

nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -P0 -sS -F -n --host_timeout 240000 --max_rtt_timeout 300 --initial_rtt_timeout 2000 --max_parallelism 250 192.168.123.0/24 192.168.234.0/24

Bạn cũng có thể áp dụng định tuyến khái niệm tương tự cho Internet, vì nmap sẽ xác định cổng nào được lọc.


Cám ơn vì cái này; Cú pháp fyi nmap đã được cập nhật trong vài giây và P0 không được dùng nữa; lệnh được cập nhật: nmap -v -oA `hostname`_full-nmap-`/bin/date +%y%m%d` -Pn -sS -F -n --host_timeout 240 --max_rtt_timeout 3 --initial_rtt_timeout 2 --max_parallelism 250 <IPADDRESS>
jhaagsma

3

Đây là những gì tôi đã làm:

Thiết lập một máy trong mạng đang được thử nghiệm và một máy khác trên Internet (ở phía bên kia của tường lửa). Bạn sẽ ổn khi sử dụng windows hoặc linux (Tôi đã sử dụng CentOS). Tôi đã có một IP công cộng nhưng tôi đoán nó sẽ hoạt động với NAT 1: 1.

Trên máy internet, tôi chạy một lệnh sẽ mở mọi cổng trên máy tính của tôi bằng nc. tôi đã làm

for i in `seq 1 65000`; do nc -l $i &; sleep 1; done

Giấc ngủ ở đó để ngăn chặn nó sinh ra quá nhiều quá trình netcat cùng một lúc. Nó đã ổn nhưng mất 65000 giây (qua đêm).

Trên mạng đã kiểm tra, tôi chỉ cần chạy

nmap -p- -PN <IP>

và chờ kết quả.


Chào mừng bạn đến với serverfault! Tôi đã chỉnh sửa câu trả lời của bạn để làm cho nó phù hợp với phong cách của các câu trả lời khác chặt chẽ hơn; cảm thấy tự do bấm vào chỉnh sửa để xem đánh dấu. Lưu ý rằng ký tự grave (`) được sử dụng để biểu thị các phần mã, vì vậy sử dụng nó làm dấu nháy đơn (') gây nhầm lẫn cho công cụ đánh dấu :)
Falcon Momot

1

Firebind.com cung cấp dịch vụ này.

Nó cho phép bạn kiểm tra kết nối ra bên ngoài của bạn qua một loạt các cổng UDP hoặc TCP tùy ý. Phạm vi thử nghiệm lớn hơn 100 cổng yêu cầu một tài khoản miễn phí.


5
Bạn có làm việc cho họ không?
jscott

0

Bởi vì bạn cần một cái gì đó để trả lời trên các cổng đó, ý tưởng của bạn về việc có một máy ở mỗi bên của tường lửa là tốt nhất. Nếu không có máy mục tiêu đó, cổng có thể được mở trên tường lửa nhưng vì nó sẽ không (không nên?) Đáp ứng với lưu lượng truy cập trên cổng đó nên bạn sẽ không biết về nó. Là một tình huống như vậy, bạn sẽ không thể nói sự khác biệt giữa cổng bị đóng với tường lửa chỉ đơn giản là thả các gói hoặc cổng đang mở nhưng không có gì ở đầu bên kia để đáp ứng.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.