Nmap là một trình quét cổng tuyệt vời, nhưng đôi khi bạn muốn một cái gì đó có thẩm quyền hơn. Bạn có thể hỏi kernel những quy trình nào có cổng nào mở bằng cách sử dụng netstat
tiện ích:
tôi @ myhost: ~ $ sudo netstat -tlnp
Kết nối Internet đang hoạt động (chỉ máy chủ)
Proto Recv-Q Send-Q Địa chỉ cục bộ Trạng thái địa chỉ nước ngoài PID / Tên chương trình
tcp 0 0 127.0.0.1:53 0.0.0.0:* NGHE 1004 / dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE 380 / sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* NGHE 822 / cupsd
tcp6 0 0 ::: 22 ::: * NGHE 380 / sshd
tcp6 0 0 :: 1: 631 ::: * NGHE 822 / cupsd
Các tùy chọn tôi đã đưa ra là:
-t
Chỉ TCP
-l
Chỉ nghe cổng
-n
Đừng tra cứu tên dịch vụ và máy chủ, chỉ hiển thị số
-p
Hiển thị thông tin quá trình (yêu cầu quyền root)
Trong trường hợp này, chúng ta có thể thấy rằng sshd
đang lắng nghe trên bất kỳ 0.0.0.0
cổng giao diện ( ) cổng 22 nào và cupsd
đang nghe trên cổng loopback ( 127.0.0.1
) 631. Đầu ra của bạn có thể hiển thị telnetd
có địa chỉ cục bộ 192.168.1.1:23
, nghĩa là nó sẽ không trả lời các kết nối trên bộ điều hợp loopback (ví dụ bạn không thể telnet 127.0.0.1
).
Có những công cụ khác sẽ hiển thị thông tin tương tự (ví dụ lsof
hoặc /proc
), nhưng netstat là công cụ có sẵn rộng rãi nhất. Nó thậm chí hoạt động trên Windows ( netstat -anb
). BSD netstat hơi khác một chút: bạn sẽ phải sử dụng sockstat (1) để lấy thông tin quy trình thay thế.
Khi bạn có ID tiến trình và tên chương trình, bạn có thể tìm kiếm quy trình và giết nó nếu bạn muốn đóng cổng. Để kiểm soát chi tiết hơn, bạn có thể sử dụng tường lửa (iptables trên Linux) để giới hạn quyền truy cập chỉ vào một số địa chỉ nhất định. Bạn có thể cần phải vô hiệu hóa một dịch vụ khởi động. Nếu PID là "-" trên Linux, thì đó có thể là một quá trình hạt nhân (ví dụ như điều này phổ biến với NFS), vì vậy chúc may mắn tìm ra nó là gì.
Lưu ý: Tôi đã nói "có thẩm quyền" vì bạn không bị cản trở bởi các điều kiện mạng và tường lửa. Nếu bạn tin tưởng máy tính của bạn, điều đó thật tuyệt. Tuy nhiên, nếu bạn nghi ngờ rằng mình đã bị hack, bạn có thể không tin tưởng các công cụ trên máy tính của mình. Thay thế các tiện ích tiêu chuẩn (và đôi khi cả các cuộc gọi hệ thống) bằng các tiện ích ẩn các quy trình hoặc cổng nhất định (còn gọi là rootkit) là một thông lệ tiêu chuẩn giữa những kẻ tấn công. Đặt cược tốt nhất của bạn tại thời điểm này là tạo một bản sao pháp y của đĩa của bạn và khôi phục từ bản sao lưu; sau đó sử dụng bản sao để xác định cách họ vào và đóng nó lại.
localhost
đang truy cập vàolo
giao diện (loopback). Địa chỉ IP đang tích hợp giao diện thực của bạn, có thểeth0
hoặcwlan0
hoặc somesuch.