เซิร์ฟเวอร์ Telnet สามารถตรวจจับไคลเอ็นต์ที่ใช้งานผ่านโปรโตคอลได้หรือไม่


9

ในขณะที่เว็บเบราว์เซอร์ส่งUser-Agentสตริง Telnet โปรโตคอลมีวิธีที่คล้ายกันในการกำหนดสิ่งที่เกี่ยวกับไคลเอนต์ที่เชื่อมต่อกับมันหรือไม่ OS? ลูกค้า Telnet เฉพาะหรือไม่ เป็นต้น

คำตอบ:


14

ไม่มี User-Agent แต่มีตัวเลือกโปรโตคอล Telnet อยู่สองสามตัวสำหรับส่งข้อมูลลูกค้า:

  • TERMINAL TYPE- แสดงประเภทเทอร์มินัลที่ใช้ (เช่น xterm, urxvt, screen-256color ... ) คุณไม่สามารถกำจัดสิ่งนี้ได้โดยไม่ทำให้สิ่งแตกหัก เหมือนกันNAWSซึ่งรายงานขนาดหน้าต่าง (คอลัมน์×แถว)

  • OLD-ENVIRONและNEW-ENVIRON- สามารถเปิดเผยตัวแปรสภาพแวดล้อมบางอย่างได้ ลูกค้าบางรายยังเปิดเผย FQDN ในตัวแปร $ DISPLAY ปลอม การส่งสถานที่ตั้งระบบของคุณ ($ LANG, $ LC_ *) หรือเขตเวลา ($ TZ) ก็ไม่ใช่เรื่องแปลก

  • XDISPLOC - คล้ายกับด้านบนลูกค้าบางรายส่ง FQDN ของคุณเป็นตำแหน่งที่แสดง X11

  • หากเปิดใช้งานคุณลักษณะการตรวจสอบสิทธิ์ใด ๆ พวกเขาสามารถเปิดเผยชื่อผู้ใช้ระบบปฏิบัติการของคุณ

  • ในที่สุดชุดตัวเลือกที่รู้จักทั้งหมดจะแตกต่างกันไประหว่างการใช้งานและสามารถใช้เป็นลายนิ้วมือสไตล์ Panopticlick แบบคร่าวๆ

น้ำค้างแข็ง $ echo $ DISPLAY
: 0

น้ำค้างแข็ง $ telnet
telnet> ตั้งค่าตัวเลือก
จะแสดงการประมวลผลตัวเลือก
telnet> open m-net.arbornet.org
กำลังลอง 162.202.67.157 ...
เชื่อมต่อกับ m-net.arbornet.org
ตัวละคร Escape คือ '^]'
ส่งความมั่นใจไปข้างหน้า
ส่งประเภทเทอร์มินัล
ส่ง NAWS
ส่งจะถูกแบ่งออก
ส่ง LFLOW
ส่ง LINEMODE
ส่งจะเป็นสภาพแวดล้อมใหม่
ส่งสถานะ
ส่ง XDISPLOC จะ
RCVD ทำการตรวจสอบสิทธิ์
ส่งการยืนยันที่ถูกต้อง
RCVD จะไร้ความสามารถไปข้างหน้า
RCVD ทำประเภทเทอร์มินัล
RCVD DO NAWS
SENT IAC SB NAWS 0 95 (95) 0 46 (46)
RCVD ทำ TSPEED
RCVD ทำ LFLOW
RCVD ทำ LINEMODE
ส่ง IAC SB LINEMODE SLC ซิงค์ NOSUPPORT 0; IP ที่หลากหลาย | FLUSHIN | FLUSHOUT 3; AO ตัวแปร 15; AYT NOSUPPORT 0; ABORT VARIABLE | FLUSHIN | FLUSHOUT 28; EOF ตัวแปร 4; ตัวแปรที่มีความยืดหยุ่น | ฟลัชชิน 26; ความหลากหลายของ EC 127; EL VARIABLE 21; ตัวแปร EW 23; RP ที่มีความหลากหลาย 18; ตัวแปร LNEX 22; ตัวแปร XON 17; ตัวแปร XOFF 19; FORW1 NOSUPPORT 0; FORW2 NOSUPPORT 0;
ส่งความมั่นใจไปข้างหน้า
RCVD ทำสภาพแวดล้อมใหม่
RCVD จะเป็นสถานภาพ
RCVD DO XDISPLOC
RCVD จะทำการเข้ารหัส
ส่งการเข้ารหัสไม่ได้
RCVD ส่งสภาพแวดล้อมเก่า
ส่งไปยังพื้นที่รอบนอก
RCVD IAC SB ส่งสัญญาณความเร็วเทอร์มินัล
ส่ง IAC SB TERMINAL-SPEED คือ 38400,38400
RCVD IAC SB X-DISPLAY-LOCATION SEND ส่ง
ส่ง IAC SB X-DISPLAY-LOCATION คือ "frost.nullroute.eu.org"
RCVD IAC SB ส่งใหม่สภาพแวดล้อม 
ส่ง IAC SB สภาพแวดล้อมใหม่คือ VAR "DISPLAY" VALUE "frost.nullroute.eu.orgOUT"
RCVD IAC SB TERMINAL-TYPE SEND
ส่ง IAC SB TERMINAL-TYPE คือ "XTERM-256COLOR"
RCVD DO ECHO
ส่ง ECHO ที่ยอดเยี่ยม
RCVD จะ ECHO
ส่ง Do ECHO
RCVD IAC SB TOGGLE-FLOW-CONTROL OFF
RCVD IAC SB TOGGLE-FLOW-CONTROL RESTART-XON
RCVD ไม่ LINEMODE
ส่ง linemode ที่ยอดเยี่ยม
RCVD IAC SB LINEMODE SLC IP ที่หลากหลาย | ACK | FLUSHIN | FLUSHOUT 3; AO ตัวแปร | ACK 15; ABORT VARIABLE | ACK | FLUSHIN | FLUSHOUT 28; ตัวแปร EOF | ACK 4; ตัวแปรที่มีความยืดหยุ่น | ACK | FLUSHIN 26; ความหลากหลายของ EC | ACK 127; มีความหลากหลาย | ACK 21; ตัวแปร EW | ACK 23; RP ที่มีความหลากหลาย | ACK 18; ตัวแปร LNEX | ACK 22; ตัวแปร XON | ACK 17; ตัวแปร XOFF | ACK 19;

FreeBSD / i386 (m-net.arbornet.org) (pts / 5)

เข้าสู่ระบบ: 

2
คำตอบที่ยอดเยี่ยม เมื่อฉันอ่านman telnetข้อผิดพลาดที่ระบุไว้เท่านั้นคือ: The source code is not comprehensible. อยากรู้ว่าใครเคยเขียนไคลเอนต์ที่ทันสมัยในสิ่งอื่นที่ไม่ใช่ C.
Thufir

3
ที่จะไม่ใช้มากเนื่องจากโปรโตคอลตัวเองยังล้าสมัยเช่นเดียวกับเซิร์ฟเวอร์ส่วนใหญ่ ... SSHv2 คือการเปลี่ยนที่ทันสมัย // โปรดทราบว่ามีลูกค้าหลายรายที่เรียกว่า "telnet" - inetutils-telnet & netkit-telnet และอื่น ๆ
user1686

1
แม้ว่าในบันทึกย่อที่เกี่ยวข้อง SSH จะมีสตริงตัวแทนผู้ใช้
user1686

1
@grawity telnet ยังคงเห็นการใช้งานมากมายเช่นการวินิจฉัย มันกลายเป็นเรื่องธรรมดาเล็กน้อยที่เกิดจากการแพร่กระจายของ TLS (แทนเช่น OpenSSL -connect) แต่ก็ยังมีการใช้งานที่ถูกต้องมากมายสำหรับการเชื่อมต่อข้อความเปล่า ๆ กับกระดูกเช่นเดียวกับ telnet ที่ให้คุณเมื่อเซิร์ฟเวอร์ที่ไม่ใช่ telnet แน่นอนว่าจุดของคุณยังคงอยู่ที่ telnet ไม่ใช่แค่ซอฟต์แวร์มันเป็นโปรโตคอล มันเป็นเหมือนการเรียก HTTP เว็บเบราว์เซอร์
CVn

1
@ MichaelKjörling แต่เมื่อใช้คำสั่ง telnet สำหรับการดีบักการสื่อสารเครือข่ายมันไม่ได้พูดโปรโตคอล telnet จริงๆ ด้วยไคลเอ็นต์ telnet ฉันเพิ่งทดสอบเพียงบอกหมายเลขพอร์ตที่จะเชื่อมต่อด้วยจะทำให้พฤติกรรมเปลี่ยนไป
kasperd
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.