วิธีตรวจสอบ Passive และ Active FTP


14

ฉันจะตรวจสอบว่า FTP (Passive หรือ Active) ทำงานอยู่ได้อย่างไร

โดยค่าเริ่มต้น FTP แฝงทำงานใน linux แต่ฉันจะตรวจสอบได้อย่างไร


2
คำถามของคุณคลุมเครือมาก คุณดาวน์โหลดผ่าน FTP หรือคุณใช้เซิร์ฟเวอร์ FTP หรือไม่
jofel

@Rahul Patil คำตอบของฉันตรงกับคำถามของคุณหรือไม่? ถ้าเป็นเช่นนั้นโปรดพิจารณายอมรับคำตอบของฉัน
John Siu

หลังจากที่เข้ามาอีกครั้งpassiveมันก็พูดว่าเรื่อย ๆ ปิด
ราหุลปาติล

คำตอบ:


11

ฉันพบคำตอบดังนี้

ในโหมดพาสซีฟเราสามารถรันlsคำสั่ง แต่ในโหมดแอคทีฟเราต้องปิดการใช้งานโหมดพาสซีฟด้วยตนเองโดยการพิมพ์passiveคำสั่งแล้วมันจะยอมรับlsคำสั่งมิฉะนั้นจะให้ 550 ข้อผิดพลาดได้รับอนุญาตปฏิเสธ ดูด้านล่าง (pasv_enable = NO ใน vsftpd.conf)

ftp> passive
Passive mode on.
ftp> ls
550 Permission denied.
Passive mode refused.
ftp> passive
Passive mode off.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-r--    1 503      503             0 Jan 11  2013 files1
-rw-rw-r--    1 503      503             0 Jan 11  2013 files10
-rw-rw-r--    1 503      503             0 Jan 11  2013 files2
-rw-rw-r--    1 503      503             0 Jan 11  2013 files3
-rw-rw-r--    1 503      503             0 Jan 11  2013 files4
-rw-rw-r--    1 503      503             0 Jan 11  2013 files5
-rw-rw-r--    1 503      503             0 Jan 11  2013 files6
-rw-rw-r--    1 503      503             0 Jan 11  2013 files7
-rw-rw-r--    1 503      503             0 Jan 11  2013 files8
-rw-rw-r--    1 503      503             0 Jan 11  2013 files9
-rw-r--r--    1 0        0           10240 Jan 11  2013 test.tar
226 Directory send OK.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-r--    1 503      503             0 Jan 11  2013 files1
-rw-rw-r--    1 503      503             0 Jan 11  2013 files10
-rw-rw-r--    1 503      503             0 Jan 11  2013 files2
-rw-rw-r--    1 503      503             0 Jan 11  2013 files3
-rw-rw-r--    1 503      503             0 Jan 11  2013 files4
-rw-rw-r--    1 503      503             0 Jan 11  2013 files5
-rw-rw-r--    1 503      503             0 Jan 11  2013 files6
-rw-rw-r--    1 503      503             0 Jan 11  2013 files7
-rw-rw-r--    1 503      503             0 Jan 11  2013 files8
-rw-rw-r--    1 503      503             0 Jan 11  2013 files9
-rw-r--r--    1 0        0           10240 Jan 11  2013 test.tar
226 Directory send OK.

lsรายชื่อที่เราขอบนเซิร์ฟเวอร์จะกลับมาที่พอร์ต 20 บนเซิร์ฟเวอร์เป็นการเชื่อมต่อพอร์ตสูงในไคลเอนต์ ไม่มีการใช้พอร์ต 21 บนเซิร์ฟเวอร์เพื่อทำการส่งคืนผลลัพธ์ของคำสั่ง ls บนเซิร์ฟเวอร์

ด้านบนสกัดจาก "http://www.markus-gattol.name/ws/vsftpd.html"


เห็นด้วยpassiveกับlsภายในลูกค้าเป็นวิธีที่ง่ายต่อการตรวจสอบ ที่จริงแล้วถ้าเราสามารถส่ง "PASV" ไปยังเซิร์ฟเวอร์เซิร์ฟเวอร์จะตอบกลับคำตอบ แต่ฉันไม่พบคำสั่งภายในไคลเอนต์ ftp ที่จะทำมัน
จอห์นซิว

8

จากลูกค้า FTP, เพื่อตรวจสอบว่าระยะไกล FTP โหมด passive quote PASVสนับสนุนเซิร์ฟเวอร์หลังจากเข้าสู่ระบบประเภท

ต่อไปนี้เป็นตัวอย่างการเชื่อมต่อกับเซิร์ฟเวอร์ vsftpd ที่มีโหมดเปิดและปิดแฝง

vsftpd ด้วย pasv_enable=NO

# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.3.5)
Name (localhost:john): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote PASV
550 Permission denied.
ftp> 

vsftpd ด้วย pasv_enable=YES

# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.3.5)
Name (localhost:john): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote PASV
227 Entering Passive Mode (127,0,0,1,173,104).
ftp> 

คำสั่ง ftp quoteส่งอาร์กิวเมนต์ทั้งหมดที่ตามมาไปยังเซิร์ฟเวอร์ระยะไกล เซิร์ฟเวอร์ระยะไกลจะดำเนินการตามคำสั่ง / คำขอหากมี PASVเป็นคำขอสำหรับเซิร์ฟเวอร์ที่จะใช้โหมดพาสซีฟ


แม้ "pasv_enable = NO" ใน vsftpd.conf คำสั่ง passive จะบอกว่าเปิดโหมด passive
ราหุลปาติล

คุณทดสอบมันหลังเราเตอร์ nat หรือไม่? หากคุณสามารถดาวน์โหลดไฟล์ได้แสดงว่าเป็นจริง อีกวิธีหนึ่งคือบังคับให้ไคลเอ็นต์ ftp ของคุณใช้โหมดพาสซีฟเท่านั้นและทดสอบ
จอห์นซิว

สวัสดีจอห์นกรุณาตรวจสอบโพสต์ข้างต้นและแจ้งให้เราทราบหากฉันผิด
หิลปาติล

@RahulPatil ใช่คุณถูกต้อง คำตอบเดิมของฉันตั้งค่าโหมดพาสซีฟที่ฝั่งไคลเอ็นต์เท่านั้น ฉันแก้ไขคำตอบของฉันด้วยวิธีที่ถูกต้อง ข้อมูล / วิธีการของคุณถูกต้องเช่นกัน
John Siu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.