ฉันกำลังฝึก ftp แต่ประสบปัญหา: คำสั่ง ls ไม่ทำงานบน ftp> ทำไม? ฉันตรวจสอบเซิร์ฟเวอร์ระยะไกล 2 ตัว แต่ ls ก็ไม่ทำงานเหมือนกันและให้เอาต์พุตที่ต่างออกไปเมื่อ ls ทำงาน โปรดดูด้านล่างสำหรับกล่องระยะไกล 2 กล่อง
ด้านล่างแสดงเซิร์ฟเวอร์ระยะไกลของฉันที่ฉันติดตั้ง vsftpd วันนี้
ravbholua@ravbholua-Aspire-5315:~$ ftp rs
Connected to ravi.com.
220 (vsFTPd 3.0.2)
Name (rs:ravbholua):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/ravbholua"
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp>
ด้านล่างสำหรับเครื่องระยะไกลที่แตกต่างกันที่ฉันต้องส่งไฟล์บางไฟล์ แต่เนื่องจาก ls บน ftp> ไม่ทำงานฉันจะถ่ายโอนไฟล์จากกล่องภายในเครื่องไปยังกล่องนั้นได้อย่างไรเพราะฉันไม่สามารถยืนยันได้หากปราศจาก ls ไม่ว่าไฟล์จะถูกถ่ายโอนหรือไม่
ravbholua@ravbholua-Aspire-5315:~$ ftp 125.21.153.140
Connected to 125.21.153.140.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 1 of 10 allowed.
220-Local time is now 04:34. Server port: 21.
220-This server supports FXP transfers
220 You will be disconnected after 2 minutes of inactivity.
Name (125.21.153.140:ravbholua): peacenews
331 User peacenews OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200-FXP transfer: from 123.63.112.168 to 10.215.10.80
200 PORT command successful
โปรดทราบว่าสำหรับเครื่องข้างต้นเมื่อฉันวิ่ง ls บน ftp> พรอมต์จะไม่กลับมา
บนทั้งเครื่องรีโมตฉันได้เอาต์พุตต่างกันเมื่อเรียกใช้ ls บน ftp>
man ftp
และพบ-p
ตัวเลือกที่จะใช้สำหรับโหมดพาสซีฟ ตามที่man ftp
ระบุไว้ว่า ftp เป็นส่วนต่อประสานผู้ใช้กับโปรโตคอลการถ่ายโอนไฟล์อินเทอร์เน็ตมาตรฐาน: ดังนั้นจึงเป็นส่วนต่อประสานและไม่ใช่ไคลเอนต์ ftp !!! สิ่งที่ฉันเข้าใจคือไคลเอนต์ ftp ใช้อินเตอร์เฟสนี้ (ftp) สำหรับการถ่ายโอนไฟล์