วิธีทดสอบการเชื่อมต่อโดยไม่ใช้ telnet [ปิด]


22

ฉันกำลังพยายามทดสอบว่าเครื่อง A สามารถเชื่อมต่อกับเครื่อง B บนพอร์ตบางพอร์ตได้หรือไม่ sysadmins ของเครื่อง A เห็นว่าเหมาะสมเพื่อลบtelnetคำสั่ง สิ่งที่จะทดแทนที่สะดวก? เครื่อง A คือ CentOS


2
พูดคุยกับ sysadmins ของ A และแจ้งให้พวกเขาทราบถึงความต้องการของคุณ ลองดูที่ netcat นี่เป็นหัวข้อนอกเนื่องจากคุณไม่มีสิทธิ์ในเครื่องที่จะแก้ไขปัญหา
EEAA

"พูดคุยกับผู้ดูแลระบบของ A และแจ้งให้พวกเขาทราบถึงความต้องการของคุณ" - ไม่น่าเป็นไปได้ในสภาพแวดล้อมนี้ ไม่ได้ติดตั้ง Netcat \ ฉันเดา - ฉันดูแลระบบบนเครื่อง B แม้ว่า
Steve Bennett

ที่ไม่ได้ทำในหัวข้อแม้ว่า
EEAA

5
อืมดูเหมือนว่าขอบเขตของ SF นั้นแคบกว่าที่ระบุใน FAQ อย่างแท้จริง (เช่นmeta.serverfault.com/questions/4111/… )
Steve Bennett

หากคุณเป็นผู้ดูแลระบบของเครื่อง B สิ่งที่คุณทำได้คือให้แน่ใจว่าเครื่อง B อนุญาตให้เข้าถึงได้ เป็นหน้าที่ของ sysadmins ของเครื่องจักร A ที่จะให้เครื่องมือที่คุณต้องการหรือทำการทดสอบด้วยตัวเอง เนื่องจากในขณะนี้เนื่องจากคุณไม่มีโปรแกรมใด ๆ ที่สามารถใช้เพื่อเริ่มการเชื่อมต่อคำตอบคือไม่ A ไม่สามารถเชื่อมต่อได้
เจนนี่ดีพูดว่า Reinstate Monica

คำตอบ:


26

iirc, telnet ไม่ได้รับการติดตั้งตามค่าเริ่มต้นบนเครื่อง centos 6 อีกต่อไป หากคุณไม่มีเครื่องมือเช่นtelnetหรือncมีให้คุณสามารถพูดคุยกับซ็อกเก็ตเครือข่ายโดยใช้ python (ไม่แน่ใจว่าสิ่งนี้ตรงกับความต้องการของคุณ "สะดวก" แม้ว่า ... )

เพื่อทดสอบว่าสามารถสร้างการเชื่อมต่อได้หรือไม่:

[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))                                                                                                                                                                                                           

หากไม่ได้เกิดข้อผิดพลาดการเชื่อมต่อก็โอเค หากคุณต้องการทดสอบการรับ / ส่งข้อมูลคุณสามารถดำเนินการดังนี้:

>>> 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
อันที่จริงมันไม่สะดวก แต่มันก็ทำงานได้สำเร็จเมื่อไม่มีสิ่งใดที่ใช้ได้ (ผมจำเป็นต้องมีการตรวจสอบ GPSD ที่ได้รับการเผยแพร่ไปยัง localhost: 2497 ในระบบฝังตัว: ความสำเร็จ!)
โรเบิร์ตคาลฮูน


5

วิธีที่ฉันคิดขึ้น:

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

$ telnet localhost 10123

มันล้มเหลว แต่ฉันไม่แน่ใจว่าจริง ๆ แล้ววินิจฉัยหรือไม่ เมื่อทำการทดสอบต่อไปจะเป็นการวินิจฉัยที่แน่นอน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.