การส่งข้อมูลขึ้นเครื่องบริการ
isinthai | git |
FTP คืออะไร เอฟทีพี (FTP = File Transfer Protocol) คือ อะไร
โปรแกรมที่ใช้สำหรับส่งแฟ้ม (Send) หรือรับแฟ้ม (Receive) ระหว่างเครื่องคอมพิวเตอร์ของผู้ใช้ (Client Computer) กับเครื่องบริการ (Web Server) ผู้ให้บริการมักเปิดบริการ Port 21 พร้อมสร้างรหัสผู้ใช้(User Name) และรหัสผ่าน(Password) ให้ผู้ใช้แต่ละคนได้เป็นเจ้าของพื้นที่แต่ละห้อง (User Folder) เมื่อส่งแฟ้มชื่อ index.html หรือ default.asp ตามที่เครื่องบริการกำหนด เข้าไปในห้องสำหรับเผยแพร่เว็บเพจ ผู้ใช้ทั่วไปก็จะเข้าถึงข้อมูลได้ตามที่ผู้พัฒนาเว็บเพจคาดหวัง
ส่งแฟ้มเข้าเครื่องบริการได้อย่างไร (โดยทั่วไป)
วิธีที่ 1 : ใช้ File Manager ใน Control Panel
ผู้ให้บริการ Web Hosting ทุกรายมีระบบ Control Panel เช่น cpanel, direct admin หรือ plesk ผู้ใช้จะได้รับ e-mail แจ้งว่าเข้าใช้ Control Panel ได้อย่างไร และจะพบกับ File Manager ที่ทำให้ท่านเข้าไปจัดการกับระบบแฟ้ม และห้องต่าง ๆ ได้ รวมถึงการส่งแฟ้ม หรือนำแฟ้มออกมาจากเครื่อง เป็นต้น

วิธีที่ 2 : ใช้ DOS FTP on Command Line
ในคอมพิวเตอร์ทุกระบบปฏิบัติการ มักมีโปรแกรม FTP ที่ทำงานใน Text Mode ท่านสามารถพิมพ์คำสั่ง ftp ตามด้วยชื่อ Host เพื่อเชื่อมต่อกับเครื่องบริการ และส่งแฟ้มได้ทันที ตัวอย่างคำสั่งอยู่ท้ายสุดของเว็บเพจหน้านี้

วิธีที่ 3 : FTP Client Program
ต้อง Download โปรแกรม เช่น filezilla หรือ ws_ftp32 เป็นต้น มาติดตั้งในคอมพิวเตอร์ แล้วกำหนดชื่อโฮส ชื่อผู้ใช้ และรหัสผ่าน โปรแกรมจะเข้าเชื่อมต่อกับเครื่องบริการ จากนั้นผู้ใช้ก็เลือกแฟ้มที่จะส่ง หรือรับ กับเครื่องบริการได้โดยสะดวก

แนะนำเว็บ (Web Guides)
1. FileZilla (Client+Server+Open Source)
2. Ws_FTP (Commercial)
FTP server ที่อนุญาตให้ anonymous เครื่องบริการที่เปิดให้กับ ผู้ไม่ประสงค์ออกนาม (anonymous)
ftp://ftp.nectec.or.th
ftp://ftp.kitty.in.th
ftp://ftp.gnu.org
ftp://ftp.pureftpd.org
ftp://ftp.vim.org
ftp://ftp.slackware.com
Demo ftp on browser : filestash.app (แนะนำ Byet.host , 000webhost , Infinityfree.net , profreehost.com)
สิ่งที่ต้องมีเพื่อใช้บริการ FTP Server 1. Host Name เช่น ftp.kitty.in.th หรือ ftp.nectec.or.th
2. User Name เช่น anonymous
3. Password เช่น thailand
4. FTP Client Program เช่น filezilla
ถ้าไม่มี 3 อย่างแรก ต้องถามจากผู้ให้บริการ
การเขียน Batch file เพื่อสั่งงาน FTP ปัจจุบัน เครื่องบริการที่เคยเปิด FTP port ได้เปลี่ยนนโยบาย เปิดการเชื่อมต่อเฉพาะ passive mode ซึ่งปลอดภัยกว่า ในอดีตเคยเปิดให้บริการ active mode ทำให้สามารถใช้ ftp บน dos mode ใน windows ได้ แต่โปรแกรม ftp บน dos mode ใน windows 10 หรือต่ำกว่านั้นทั้งหมด ไม่สามารถเชื่อมต่อเครื่องบริการแบบ passive mode ทำได้เฉพาะ active mode แม้จะใช้โปรแกรม Git bash ที่จำลอง interface เป็น linux shell แต่โปรแกรม ftp ที่ใช้ก็ดึงมาจากบน microsoft windows ที่ให้บริการเฉพาะ active mode ดังนั้นตัวอย่างนี้ จึงเลือกใช้บน bluestacks ซึ่งเป็น android OS และใช้แอปพลิเคชัน termus ที่ติดตั้งเพิ่มเข้าไป ซึ่งเป็น terminal สำหรับใช้งานบน android ที่ดาวน์โหลดได้ใน google play store
https://www.filestash.app/online-ftp-client.html#connect=ftp.kitty.in.th termux บน bluestacks.com (android)
@echo off
echo anonymous> my.cmd
echo anonymous>> my.cmd
echo passive>> my.cmd
echo cd pub/sources/fonts>> my.cmd
echo hash>> my.cmd
echo bin>> my.cmd
echo get arietta-ttf-0.0.1.tar.bz2>> my.cmd
echo quit>> my.cmd
ftp ftp.kitty.in.th < my.cmd
ls -al
การเปิด FTP Server บน Smart Phone ซื้อ Smart Phone ยี่ห้อ F-Phone รุ่น F823 ราคา 2900 บาท มาเครื่องหนึ่ง แล้วติดตั้ง App: FTPServer รุ่น 2.9.1 ของ Andreas Liebig จาก Play store เพื่อทำให้อุปกรณ์เป็นเครื่องบริการรับส่งแฟ้ม (FTP Server) เมื่อเปิด App ขึ้นมา ได้กำหนด Preferences ดังนี้ 1) User:admin 2) Pass:admin 3) Port:1024 4) Restrict to default directory 5) Allowed connections "thaialldotcom" 6) Default directory /storage/sdcard0/download แล้วสั่ง Start FTP service ที่ Title ของ App จะพบเลข IP เช่น 192.168.2.2 เปิดบริการแล้ว ถ้าต้องการตรวจว่า Service เปิดให้บริการหรือไม่ก็ใช้ App: Terminal แล้วใช้คำสั่งของ Linux คือ netstat ก็จะพบว่า IP ข้างต้นเปิดบริการ port 1024 แบบ LISTEN ที่บรรทัดต้น เมื่อใช้เครื่อง PC เชื่อมต่อเข้าไปใน Smart phone ในเบื้องต้นผมใช้ C:\> ftp เมื่อพบ ftp> ก็สั่งเปิดการเชื่อมต่อด้วย open 192.168.2.2 1024 แล้วก็ใส่ user และ password ให้ตรงกับที่เครื่องบริการกำหนดไว้
ฝึกให้นักศึกษาส่งงานเข้า FTP Server โจทย์ - นักศึกษาเตรียมภาพใน PC และกำหนดชื่อภาพเป็นรหัสนักศึกษา ไว้ใน Drive D เช่น 5801.jpg
แล้วส่งภาพของนักศึกษาจาก PC เข้า Smart phone ที่ทำหน้าที่เป็นเครื่องบริการ
1. C:\> ftp (แล้วกดปุ่ม Enter)
2. open 192.168.2.2 1024 (แล้วกรอก admin และ admin)
3. lcd d:\ (กำหนดห้องทำงานฝั่ง PC เป็น Drive D)
4. bin (มีการรับส่งแบบ Binary)
5. hash (กำหนดให้แสดงความก้าวหน้าขณะรับส่งแฟ้ม)
6. put 5801.jpg (ส่งภาพ (Upload) ของเราเข้าเครื่องบริการ)
7. get 5802.jpg (นำแฟ้มของเพื่อนออกมาจากเครื่องบริการ (Download))
ถ้าใช้คำสั่ง Get ที่ smart phone จะแสดงคำว่า RETR ทำให้รู้ว่าแฟ้มถูก Download เรียบร้อยแล้ว
การส่ง และการรับแฟ้ม ด้วย ftp ของ windows ถ้าไม่มี FTP client ตัวอื่น ก็ใช้ FTP on windows ได้
ให้เข้าไปที่ DOS แล้วพิมพ์คำสั่ง FTP ตามด้วยชื่อ host
เช่น ftp.exe burin.8m.com
หรือ ftp thaiall.ueuo.com
ตัวอย่างนี้ท่านต้องพิมพ์ทั้งหมด 8 จุด
  1. ftp burin.8m.com
  2. burin
  3. รหัสผ่าน เมื่อพิมพ์จะมองไม่เห็น
  4. lcd c:\
  5. bin
  6. put bg.gif
  7. ls *.gif
  8. bye
lcd c:\ หมายถึง ..
แจ้งให้โปรแกรมทราบแหล่งเก็บแฟ้มใน PC
เช่น lcd c:\home\ หรือ lcd c:\myweb\
bin หมายถึง .. (อาจไม่จำเป็น)
แจ้งว่าถ้ารับส่งแฟ้มจะส่งแบบ binary
ถ้าส่งภาพต้องกำหนดเป็น bin เสมอ
แต่ถ้าเป็น htm ไม่กำหนดอะไรก็ได้
ถ้าจะกำหนดก็ใช้คำสั่ง ascii นะครับ
เพราะ bin จะส่ง 8 bit
แต่ ascii จะกำหนดให้ส่ง 7 bit เท่านั้น
put bg.gif หมายถึง ..
ส่งแฟ้ม bg.gif ไปใน burin.8m.com
ถ้าจะส่ง index.html ก็ใช้คำสั่งว่า
put index.html เท่านั้นเอง
ls *.gif หมายถึง ...
แสดงรายชื่อแฟ้มใน server ที่มีนามสกุลgif
ถ้าแสดงทั้งหมดก็ใช้ ls เฉย ๆ ครับ
bye หมายถึง เลิกการทำงาน

แนะนำคำสั่งเพิ่มเติม
- การลบแฟ้ม ใช้ del ตามด้วยชื่อแฟ้ม
- การเปลี่ยนชื่อแฟ้ม ใช้ ren ตามด้วยชื่อเก่า และชื่อใหม่
- การนำแฟ้มจาก server มาใน PC ใช้ get ตามด้วยชื่อแฟ้ม
คำสั่งพิเศษที่ต้องแนะนำ คือ mput   *.*
ซึ่งมีหน้าที่ส่งเข้าไปได้หลาย ๆ แฟ้ม ไม่ต้อง put ทีละแฟ้ม
การเพิ่ม FTP user ให้เข้าใช้ Windows 2003
1. Make folder for new user
2. Open Active Directory Users
- New, User
(put First name + User Logon Name and put Password)
- cancel check on User must change ..
- make check on password never expires
3. Open IIS
- Select Default FTP site
- New Virtual Directory
- Select directory for new user
- Make check on write and read
4. Open Folder
- Right click on folder
- select Sharing and Security
- select Security and Add user
- Make check on write and Modify
5. Start testing
- ftp localhost
- lcd c:\windows
- put win.ini
- ls
- del win.ini
- bye
Trivial File Transfer Protocol (TFTP) on WinXP

ดาวน์โหลด : tftpd32.zip (3.35)


win7/win8 ต้องเลือก
เปิดใช้ ftp client
ผ่าน programs and features
ทีเอพทีพี (TFTP) คือ รูปแบบการรับส่งแฟ้มที่ง่าย เริ่มพัฒนาปีพ.ศ.2523 โดย Noel Chiappa ออกแบบให้ใช้หน่วยความจำน้อย ทำงานได้เร็ว ติดตั้งง่าย ไม่ตรวจรหัสผู้ใช้ มุ่งที่จะอ่านและเขียนแฟ้ม ใช้โปรโตคอลยูดีพี (UDP = User Datagram Protocol) ที่พอร์ท 69 มีการนำไปใช้ใน routers, switches หรือ IP phones
ตัวอย่างการเชื่อมต่อไปยังเครื่องโฮสเพื่อรับแฟ้ม
DOS>tftp -i 192.168.56.1 get tftpd32.ini
DOS>tftp -i 127.0.0.1 get tftpd32.ini
DOS>tftp -i localhost put test.txt
ข้อพึงระวัง
1. ถ้าพิมพ์ tftp ใน DOS แล้วไม่พบ ให้เปิดใช้บริการก่อน
2. ถ้าพบ tftp: can't write to local file 'tftpd32.ini'
อาจเป็นเพราะ get แล้ว ซ้ำไม่ได้ หรือห้องนั้นติด permission
3. ระวังเรื่อง firewall ด้วย
แบทไฟล์สำหรับ TFTP
@echo off
echo anonymous > my.cmd
echo anonymous >> my.cmd
echo cd simtelnet/winxp/desknote >> my.cmd
echo lcd e:\ >> my.cmd
echo hash >> my.cmd
echo bin >> my.cmd
echo get freestickynotes.exe >> my.cmd
echo quit >> my.cmd
echo ftp -s:my.cmd ftp.chatnfiles.com > myftp.bat
echo e:\freestickynotes.exe >> myftp.bat
myftp.bat
ขั้นตอนการใช้งาน Filezilla บน Xampp 7.1.7
การเชื่อมต่อระหว่าง Server กับ Client เพื่อรับส่งแฟ้มจำนวนมากได้อย่างรวดเร็ว นักพัฒนามักเลือกใช้บริการ FTP และโปรแกรมที่ได้รับความนิยม คือ Filezilla ซึ่งโปรแกรม Filezilla ติดตั้งมาพร้อมกับโปรแกรม XAMPP ทำให้สามารถเปิดบริการ FTP Server ได้โดยง่าย ในฝั่งเครื่อง Server เมื่อเปิดส่วนของ Admin ต้องเริ่มต้นจากการสร้าง user และ password พร้อมกับกำหนด home directory และ permission เมื่อสร้างเสร็จแล้ว ก็ให้เครื่อง Client เชื่อมต่อเข้าไปผ่าน user ที่สร้างใหม่ โดยโปรแกรมที่ใช้ติดต่อเข้าไปจากเครื่อง Client มีหลายวิธีให้เลือกใช้ อาจเป็น Filezilla client หรือ FTP program ที่ทำงานบน android , linux, ios หรือ dos แล้วกิจกรรมการ put และ get ก็เกิดขึ้นหลังจากการ connect ได้สำเร็จแล้ว
ขั้นตอนการใช้งาน Filezilla บน Xampp 7.1.7
1. Download xampp จาก apachefriends.org
xampp-win32-7.1.7-0-VC14-installer.exe
2. รุ่นนี้มีโปรแกรมมาเยอะ
ทั้ง Server : Apache, MySQL, FileZilla FTP Server, Mercury Mail Server, Tomcat
ทั้ง Program Languages : PHP, Perl
ทั้ง Script : phpMyadmin, Webalizer, Fake Sendmail
แล้วกำหนดห้องคือ c:\xampp71 เพราะก่อนหน้านี้ลงแบบ unzip ในห้อง c:\xampp56 ไว้แล้ว
3. เปิด XAMPP Control Panel (C:\xampp\xampp-control.exe)
แล้ว Start : FileZilla ทำให้เปิด port 21 (ftp) และ port 14147 (admin)
4. คลิ๊ก Admin ของ FileZilla ใน XAMPP Control Panel เข้า admin ผ่าน port 14147
จะเปิดโปรแกรม Filezilla Server สำหรับ Admin เดิมไม่ได้กำหนด Admin Password ไว้ ก็จะเข้าได้
5. ถ้าต้องการให้ปลอดภัย ในการเข้า Admin หรือเข้าผ่าน Remote ได้
เข้า Menu bar, Edit, Settings, Admin Interface setting
คลิ๊ก Change admin password
"Minimum password length is 6 characters. Leave empty to remove password. A password is required for remote administrationn to work."
6. สร้าง user ให้เค้าได้ใช้งาน
เข้า Menu bar, Edit, Users, พบ Add Remove Rename Copy
new user = "admin"
General Page : Check - Enable account
General Page : Check - Password = "p"
Shared folders Page : Add - c:\xampp71\htdocs [Read, Write]
7. Window+R, cmd จะพบกับ DOS prompt
C:\> ipconfig มองหาตัวเลขหลัง IPv4 Address
C:\> ftp 127.0.0.1
user: admin
password: p
ftp> ?
ftp> ls
ftp> bye
8. Download Filezilla client : https://filezilla-project.org
แล้วก็ใช้ติดต่อกับ Filezilla server ที่มีแล้ว
การใช้ FTP ใน 000webhost.com

คลิ๊ก Forgot password
รอรับอีเมลอยู่รับ นานมาก
1. สมัครใช้บริการกับ 000webhost.com
https://thaiabc.000webhostapp.com/mysqlworking.php
2. Menu bar, Settings, General
พบว่า FTP transfer = on
Host name: files.000webhost.com
Username: thaiabc
Password: same as your website password
3. ตัวอย่างการใช้งาน
DOS> ftp files.000webhost.com
ftp> ls
ftp> cd public_html
ftp> lcd d:\xampp71\htdocs
ftp> ascii
ftp> put index.html
ftp> bye
การใช้ FTP ใน awardspace.net

คลิ๊ก Login Your free hosting account had been disabled because you had not logged into your profile for 1 year. Your account has now been activated again.
1. สมัครใช้บริการกับ awardspace.net
http://thaiabc.atwebpages.com/mysqlworking.php
2. หน้าแรก ด้านบนขวา มี icon รูปคน คลิ๊ก login
3. คลิ๊ก FTP Manager ใน Website Manager
4. สร้างใหม่ได้ และ ระบบสร้างไว้ให้แล้ว 1 บัญชี
user: เป็นตัวเลข
password: เหมือนที่ login เข้าระบบ
Default path : /home/www
5. information ใน account ที่สร้างไว้
hostname : thaiabc.atwebpages.com, f15-preview.awardspace.net
port : 21
6. ตัวอย่างการใช้งาน ที่พบปัญหา
DOS> ftp thaiabc.atwebpages.com
ftp> cd thaiabc.atwebpages.com
ftp> ls ไม่ได้
disconnect ในการใช้ ftp ผ่าน command line
เพราะ atwebpages.com รองรับเฉพาะ passive mode
สรุปคือไปใช้ ftp client ที่บริการ passive mode แทน
เช่น Filezilla
7. download config มาเป็น .xml สำหรับ Filezilla
ตัวอย่างแฟ้ม yyyyyyy-xxx.atwebpages.com.xml
สำหรับนำเข้า ใน Filezilla program
แล้ว import เข้า Filezilla
8. เข้า Menu bar, file, site manager จะพบ account ที่เพิ่ม
คือ xxxxxxx@thaiabc.atwebpages.com
9. connect เข้าไปจะพบ
ห้อง thaiabc.atwebpages.com แล้วเข้าไปในห้องนี้ จากนั้นก็ put และ get แฟ้มได้ตามต้องการ
11 ก.ย.64 ปลุก awardspace.net ด้วยการ Login เข้าไปอีกครั้ง หลังไม่ได้เข้ามานาน
พบว่า 403 Error เมื่อตรวจสอบโค้ด พบว่า Server ตรวจสอบลิงค์ที่จะไปยัง 000webhost จึงแจ้ง error
เมื่อใช้ if ยกเลิกการ echo link ของ 000webhost ก็พบว่า webpage กลับมาทำงานได้ปกติ
for($demo_no=0;$demo_no<count($demo);$demo_no++) {
if($demo_no != 1) echo "<b>Demo site</b> : <a href='$demo[$demo_no]'>$demo[$demo_no]</a><br/>";
}
ภาพที่น่าสนใจ
แนะนำเว็บ (Web Guides) smartftp.com
filezilla-project.org (wiki)
chiark.greenend.org.uk (Putty Program)
en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol
rfc-editor.org/rfc/ien/ien133.txt (Paper เรื่อง TFTP โดย Trivial แปลว่าขี้ผง)
pjo2.github.io/tftpd64
rspsocial
Thaiall.com