วิธีการรับ telnet ไปยัง localhost นั้นทำงานอย่างไร


10

ฉันกำลังทำงานในการตั้งค่า dev ท้องถิ่นที่ต้องใช้ telnet (เล่นกับการตั้งค่าเซิร์ฟเวอร์ MUD) ดังนั้นโปรดไม่มีข้อเสนอแนะว่าฉันใช้ SSH เป็นทางเลือกที่ปลอดภัยยิ่งขึ้น

อย่างไรก็ตามแม้ว่าฉันได้รับ telnet daemon ขึ้นฉันได้รับผลลัพธ์นี้เมื่อฉัน telnet localhost

$ telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

อะไรคือสาเหตุที่ทำให้การเชื่อมต่อถูกปิด? ฉันได้ตรวจสอบเอกสารบน hosts.allow และ hosts.deny แล้วและได้ตัดสินใจที่จะไม่ใส่รายการใด ๆ ลงไปเนื่องจากค่าเริ่มต้นคืออนุญาตทั้งหมดและนั่นก็เพียงพอสำหรับวัตถุประสงค์ในการพัฒนาท้องถิ่นของฉัน


2
ฉันคิดว่าคุณจะต้องบอกเราเพิ่มเติมเกี่ยวกับซอฟต์แวร์ดันเจี้ยนแบบผู้ใช้หลายคนที่คุณใช้งานอยู่ telnetdภูตของ Ubuntu นั้นใช้งานได้ตามปกติ ... แต่มันก็ช่วยให้คุณเข้าสู่ระบบได้ตามปกติ ฉันเดาว่าเซิร์ฟเวอร์ MUD นั้นเป็นสิ่งที่ฟังในพอร์ต 23 ดังนั้นปัญหาอาจอยู่ในการกำหนดค่า เป็นไปได้ว่าจะไม่เกี่ยวข้องกับสิ่งที่คุณทำกับtelnetลูกค้า อีกทางหนึ่งหากคุณกำลังพยายามใช้เซิร์ฟเวอร์ MUD ของคุณกับ Native Ubuntu telnetdโปรดแจ้งให้เราทราบว่าคุณใช้การกำหนดค่าใดเพื่อช่วยอำนวยความสะดวก
Eliah Kagan

เซิร์ฟเวอร์ MUD มักจะไม่ใช้ telnetd มันทำงานเป็นบริการบนพอร์ตอื่น
Alistair Buxton

ตกลงฉันไม่ทราบว่าเซิร์ฟเวอร์ MUD จะไม่ใช้เนทีฟดีมอน ฉันกำลังทำงานกับการใช้ไลบรารีเซิร์ฟเวอร์เกมของ PHP ซึ่งฉันสันนิษฐานว่ารัน "บน" telnet ดั้งเดิม
jerome

ห้องสมุดอะไรและคุณทำอะไรกับมัน ถ้าเป็น PHP นั่นแสดงว่าอาจให้เซิร์ฟเวอร์ MUD บนเว็บ (แม้ว่าจะไม่รับประกัน) แทนที่จะเป็นเซิร์ฟเวอร์ที่ใช้ telnet นอกจากนี้สมมติว่าคุณติดตั้งtelnetdและไม่ได้เปลี่ยนการตั้งค่าของมันก็ยังคงอยากรู้ว่าคุณไม่สามารถที่จะได้รับเปลือกเมื่อคุณไปtelnet localhostคุณยังต้องการความช่วยเหลือเกี่ยวกับปัญหาดังกล่าวแม้ว่าอาจเป็นไปได้ว่าคุณไม่ได้ใช้งานเซิร์ฟเวอร์ MUD หรือไม่
Eliah Kagan

2
หากเซิร์ฟเวอร์ของคุณทำงานผ่าน inetd เป็นเรื่องปกติที่ inetd จะรับฟังพอร์ตและปิดการเชื่อมต่อในลักษณะที่คุณเห็นหากเซิร์ฟเวอร์ daemon จริงไม่สามารถเริ่มทำงานได้ นี่อาจเป็นเบาะแสที่เป็นประโยชน์สำหรับคุณหรืออาจไม่เกี่ยวข้องเลย ฉันไม่แน่ใจ
Robie Basak

คำตอบ:


2

โอเคเรามาตรวจสอบเรื่องนี้ทีละขั้นตอน หากต้องการทราบว่ากำลังทำงานอะไรอยู่บนพอร์ตของ telnet ให้พิมพ์:

sudo netstat -tulpn | grep :23

และวางผลลัพธ์

จากอีกมุมหนึ่ง: คุณใช้ไลบราเกม PHP ประเภทใด


เอาล่ะ! ฟังดูเหมือนเราจะไปไหนซักที่
jerome

tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 2842/inetd
Jerome

คลังเกม PHP นั้นเรียกว่า NAGS และดูเหมือนว่าจะเป็นไปตามอีเมลบางฉบับที่มีผู้สร้างมันยังอยู่ในตัวของมันเองในสภาพที่สมบูรณ์กว่า แต่ฉันสนใจที่จะดำเนินการแก้ไขปัญหานี้ไปจนถึงเส้นชัยด้วยข้อมูลที่ฉันไปตลอดทาง
jerome

1

หมายเหตุ:ฉันเพิ่งไปรอบ ๆ เพื่อหาเซิร์ฟเวอร์โคลนกับคลัง NAGS nags-php-mudเกมและพบนี้: คำตอบของฉันไม่เกี่ยวข้องหากคุณกำลังใช้อย่างอื่น

config.phpมีการตั้งค่าต่อไปนี้:

<?
    /*Modify the setting here to set up your game server */
    $configarray = array(
        'DB_HOST' => 'localhost',
        'DB_USERNAME' => 'nags',
        'DB_PASSWORD' => 'password',
        'DB_DATABASE' => 'nags',
        'IP_ADDRESS' => '0.0.0.0',
        'SERVER_PORT' => '4000',
        'SERVER_NAME' => 'NAGS GAMING SYSTEM',
);?>

ดังนั้นหมายเลขพอร์ตคือ 4000 คุณสามารถลองอัปเดตที่อยู่ IP 127.0.0.1แล้วเชื่อมต่อกับพอร์ต 4000 โดยใช้ telnet:telnet 127.0.0.1 4000

Updated
ในคำสั่งดังกล่าวข้างต้นที่คุณมีและไม่ได้telnet localhost ฉันพยายามเรียกใช้ แต่ฉันพบปัญหา มันแสดงต่อไปนี้และฉันไม่สามารถติดตามได้:telnet localhost 4000

PHP Notice:  Undefined index: quiet in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34  
PHP Notice:  Undefined index: q in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34
PHP Notice:  Undefined index: deamon in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined index: d in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined property: MAIN::$MESSAGE in /home/blvdeer/Downloads/nags-php-mud-master/modules/main.php on line 158
SYSTEM: (LOAD MODULE)   MESSAGE
SYSTEM: (LOAD MODULE)   CONFIGURE
SYSTEM: (LOAD MODULE)   DATABASE

นั่นคือสิ่งที่ฉันเคยทำโดยไม่มีผลลัพธ์ที่เป็นบวก
jerome

อัปเดตคำตอบ นอกจากนี้ในคำถามที่คุณพูดถึงtelnet localhostแทนtelnet localhost 4000
blvdeer

ใช่ฉันหวังว่าจะได้รับการตอบกลับจากผู้พัฒนาห้องสมุด NAGS เท่าที่ปัญหา telnet เฉพาะ (ถึง 4000 หรือ 23 หรือพอร์ตใด ๆ ) ยังคงขึ้นสำหรับคำแนะนำ
เจอ

-2

ลองด้วยtelnet localhost 80 Where 80 คือพอร์ตที่เซิร์ฟเวอร์ของคุณกำลังทำงาน ฉันลองกับ 80 พอร์ตสำหรับเซิร์ฟเวอร์ apache และใช้งานได้

นอกจากนี้คุณอาจต้องใช้ตัวเลือก -K และ -X อ่านเพิ่มเติมเกี่ยวกับพวกเขาใน man telnet


3
Apache เป็นเว็บเซิร์ฟเวอร์และพอร์ต 80 เป็นพอร์ตสำหรับ HTTP Telnet ทำงานเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ที่หลากหลายเนื่องจากเป็นโปรโตคอลพื้นฐานมาก - คุณสามารถป้อนคำสั่งด้วยตนเองสำหรับ HTTP, SMTP และอื่น ๆ ด้วยตนเอง พอร์ต 23 คือพอร์ตสำหรับ telnetd ดังนั้นจึงไม่มีเหตุผลที่จะคาดหวังว่ามันจะทำงานบนพอร์ต 80 บางครั้งผู้คนใช้เซิร์ฟเวอร์ที่ไม่ใช่ HTTP บนพอร์ต 80 เพื่อให้ไคลเอนต์ได้รับข้อ จำกัด ไฟร์วอลล์ขาออก แต่ไม่มีข้อบ่งชี้ว่าเกิดอะไรขึ้นที่นี่ ที่นี่ OP ตั้งค่าเซิร์ฟเวอร์ เซิร์ฟเวอร์ telnet และ MUD ไม่น่าจะฟังบนพอร์ต 80 โดยไม่ได้รับการกำหนดค่าให้ทำเช่นนั้น
Eliah Kagan

2
นอกจากนี้ยังมีเป็นเซิร์ฟเวอร์ที่ทำงานบนพอร์ต 23 ที่นี่เพราะการเชื่อมต่อที่ถูกสร้างขึ้น หลังจากนั้นก็ถูกยกเลิก หากเซิร์ฟเวอร์ทำงานบนพอร์ตอื่นและไม่มีอะไรฟังที่พอร์ต 23 การเชื่อมต่อจะถูกปฏิเสธ
Eliah Kagan

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