Làm thế nào để kiểm tra một kết nối mà không có telnet? [đóng cửa]


22

Tôi đang cố kiểm tra xem máy A có thể kết nối với máy B trên một số cổng nhất định hay không. Các sysadins của máy A đã thấy phù hợp để loại bỏ telnetlệnh. Điều gì sẽ là một sự thay thế thuận tiện? Máy A là CentOS.


2
Nói chuyện với các hệ thống của A và thông báo cho họ về nhu cầu của bạn. Theo như lựa chọn thay thế, nhìn vào netcat. Đây là ngoài chủ đề vì bạn không có đặc quyền trên máy đang đề cập để khắc phục sự cố.
EEAA

"Nói chuyện với các hệ thống của A và thông báo cho họ về nhu cầu của bạn." - không có khả năng trong môi trường này. \ Netcat chưa được cài đặt. \ Tôi đoán - Tôi là sysadmin trên máy B mặc dù.
Steve Bennett

Điều đó không làm cho nó về chủ đề, mặc dù.
EEAA

5
Hmm, có vẻ như phạm vi của SF hẹp hơn nhiều so với những gì thực sự được chỉ định trong Câu hỏi thường gặp. (ví dụ, meta.serverfault.com/questions/4111/... )
Steve Bennett

Nếu bạn là sysadmin của máy B, tất cả những gì bạn có thể làm là đảm bảo rằng máy B đang cho phép truy cập. Đó là công việc của các hệ thống của máy A để cung cấp cho bạn các công cụ bạn cần hoặc để tự kiểm tra. Hiện tại, vì bạn không có bất kỳ chương trình nào có thể được sử dụng để bắt đầu kết nối, câu trả lời là không, A không thể kết nối.
Jenny D nói Phục hồi lại

Câu trả lời:


26

iirc, telnet không được cài đặt theo mặc định trên các máy centos 6 nữa. nếu bạn không có các công cụ như telnethoặc nccó sẵn, bạn luôn có thể nói chuyện với một ổ cắm mạng bằng python. (không chắc điều này có phù hợp với yêu cầu "tiện lợi" của bạn không ...)

để kiểm tra đơn giản nếu kết nối có thể được thiết lập:

[gryphius@ut ~]$ python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2                                                                                                                                                                                                                               
Type "help", "copyright", "credits" or "license" for more information.                                                                                                                                                                                                         
>>> import socket                                                                                                                                                                                                                                                              
>>> conn=socket.create_connection(('gmail-smtp-in.l.google.com',25))                                                                                                                                                                                                           

Nếu điều đó không gây ra lỗi cho đến nay thì kết nối vẫn ổn. Nếu bạn cũng muốn kiểm tra nhận / gửi dữ liệu, bạn có thể tiếp tục như thế này:

>>> input=conn.makefile()                                                                                                                                                                                                                                                      
>>> print input.readline()                                                                                                                                                                                                                                                     
220 mx.google.com ESMTP p2si6911139eeg.7 - gsmtp                                                                                                                                                                                                                               
>>> conn.sendall('HELO example.com\r\n')
>>> print input.readline()
250 mx.google.com at your service

>>> conn.sendall('QUIT')
>>> conn.close()
>>> 

1
Quả thực nó không tiện lợi, nhưng nó đã hoàn thành công việc khi không có gì khác. (Tôi cần xác thực rằng gpsd đã được xuất bản lên localhost: 2497 trên một hệ thống nhúng: thành công!)
Robert Calhoun


5

Một phương pháp tôi đã đưa ra:

$ ssh -f -N machineA -L 10123:machineB:123

$ telnet localhost 10123

Nó thất bại, nhưng tôi không chắc đó có thực sự là chẩn đoán hay không. Đã thử nghiệm thêm, nó thực sự là chẩn đoán.

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.