Sản lượng netcat này có nghĩa là gì?


11

Tôi muốn telnet vào VM chạy cục bộ của mình có dịch vụ dictd chạy trên cổng 2628, khi tôi phát lệnh nc -v của mình mặc dù tôi nhận được như sau:

$ nc -v localhost 2628
nc: connectx to localhost port 2628 (tcp) failed: Connection refused
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif lo0
    src 127.0.0.1 port 63929
    dst 127.0.0.1 port 2628
    rank info not available
    TCP aux info available

Connection to localhost port 2628 [tcp/dict] succeeded!

Tại sao có một kết nối bị từ chối và sau đó một kết nối đã thành công? Điều này có nghĩa là gì và tại sao nó không chấp nhận kết nối của tôi khi tôi chỉ làm : telnet localhost 2628?

Câu trả lời:


11

Có vài chục phiên bản netcat có sẵn, nhưng điều này có thể là do:

  1. Bạn có 2 mục cho localhosttrong /etc/hosts. Một cho IPv4, một cho IPv6.
  2. Trình nền chỉ nghe trên một giao thức (có thể là IPv4).
  3. Đầu tiên, máy khách được kết nối thông qua giao thức mà trình nền không nghe, sau đó thử giao thức đó.

Ví dụ:

$ grep localhost /etc/hosts
127.0.0.1 localhost
::1 localhost

$ nc -4 -l -p 9000 -s 127.0.0.1     
nc: listening on 127.0.0.1 9000 ...


$ nc localhost 9000
nc: cannot connect to localhost (::1) 9000 [9000]: Connection refused
nc: localhost (127.0.0.1) 9000 [9000] open
nc: using stream socket

Ok, nếu đây là những gì đang xảy ra, làm thế nào để tôi sửa nó?
Raul77

Sửa bất kỳ mục nào trong số 3 mục được đánh số. 1) xóa một trong các mục từ /etc/hosts. 2) làm cho daemon lắng nghe trên cả hai giao thức. 3) buộc khách hàng kết nối bằng giao thức khác.
Patrick
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.