Bird
Raised Fist0
Computer Networksknowledge~10 mins

FTP and SFTP for file transfer in Computer Networks - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the protocol used for secure file transfer.

Computer Networks
protocol = "[1]"  # Use this for secure file transfer
Drag options to blanks, or click blank then click option'
ASMTP
BHTTP
CFTP
DSFTP
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing FTP instead of SFTP for secure transfer.
2fill in blank
medium

Complete the sentence to describe the default port number for FTP.

Computer Networks
FTP_default_port = [1]
Drag options to blanks, or click blank then click option'
A80
B22
C21
D443
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing FTP port 21 with SSH port 22.
3fill in blank
hard

Fix the error in the statement about SFTP's underlying protocol.

Computer Networks
SFTP_transfers_files_over = "[1]"
Drag options to blanks, or click blank then click option'
ASSH
BHTTP
CFTP
DSMTP
Attempts:
3 left
💡 Hint
Common Mistakes
Thinking SFTP uses FTP protocol.
4fill in blank
hard

Fill both blanks to complete the description of FTP and SFTP security.

Computer Networks
FTP is [1] while SFTP is [2]
Drag options to blanks, or click blank then click option'
Ainsecure
Bsecure
Cfast
Dslow
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up which protocol is secure.
5fill in blank
hard

Fill all three blanks to complete the dictionary comprehension describing file transfer protocols.

Computer Networks
protocols = { [1]: [2] for [3] in ['FTP', 'SFTP'] }
Drag options to blanks, or click blank then click option'
Ap.lower()
Bp.upper()
Cp
Dprotocol
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong variable names or methods.

Practice

(1/5)
1. Which of the following statements correctly describes the main difference between FTP and SFTP?
easy
A. Neither FTP nor SFTP encrypt data during transfer.
B. SFTP encrypts data during transfer, while FTP does not.
C. Both FTP and SFTP encrypt data equally.
D. FTP encrypts data during transfer, while SFTP does not.

Solution

  1. Step 1: Understand FTP security

    FTP is an older protocol that transfers files without encryption, making data vulnerable to interception.
  2. Step 2: Understand SFTP security

    SFTP uses encryption to protect data during transfer, making it secure over untrusted networks.
  3. Final Answer:

    SFTP encrypts data during transfer, while FTP does not. -> Option B
  4. Quick Check:

    Encryption difference = SFTP encrypts, FTP does not [OK]
Hint: Remember: S in SFTP means Secure [OK]
Common Mistakes:
  • Thinking FTP encrypts data
  • Assuming both protocols are equally secure
  • Confusing FTP with FTPS (which adds SSL)
2. Which of the following is the correct command to connect to a server using SFTP in a terminal?
easy
A. ftp username@server.com
B. ssh username@server.com
C. scp username@server.com
D. sftp username@server.com

Solution

  1. Step 1: Identify SFTP command syntax

    The command to start an SFTP session is sftp username@server.com, which initiates a secure file transfer connection.
  2. Step 2: Differentiate from other commands

    ftp is for FTP connections, ssh is for remote shell access, and scp copies files but is not an interactive file transfer session.
  3. Final Answer:

    sftp username@server.com -> Option D
  4. Quick Check:

    SFTP command starts with 'sftp' [OK]
Hint: SFTP command always starts with 'sftp' [OK]
Common Mistakes:
  • Using 'ftp' instead of 'sftp' for secure transfer
  • Confusing SSH with SFTP command
  • Using SCP which is not interactive
3. Consider this Python snippet using the paramiko library to upload a file via SFTP:
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('example.com', username='user', password='pass')
sftp = client.open_sftp()
sftp.put('local.txt', 'remote.txt')
sftp.close()
client.close()
What will happen when this code runs successfully?
medium
A. The file 'local.txt' is uploaded securely to 'remote.txt' on the server.
B. The file 'remote.txt' is downloaded to 'local.txt' on the client.
C. An error occurs because paramiko does not support SFTP.
D. The connection is made but no file transfer happens.

Solution

  1. Step 1: Understand paramiko SFTP usage

    The code connects to the server using SSH, then opens an SFTP session to transfer files securely.
  2. Step 2: Analyze the sftp.put method

    sftp.put('local.txt', 'remote.txt') uploads the local file named 'local.txt' to the server as 'remote.txt'.
  3. Final Answer:

    The file 'local.txt' is uploaded securely to 'remote.txt' on the server. -> Option A
  4. Quick Check:

    sftp.put uploads local to remote [OK]
Hint: sftp.put uploads local file to server [OK]
Common Mistakes:
  • Confusing upload with download (put vs get)
  • Thinking paramiko does not support SFTP
  • Assuming no file transfer happens without error
4. A user tries to connect to a server using SFTP but gets an error: Permission denied (publickey). What is the most likely cause?
medium
A. The SFTP command is not installed on the client machine.
B. The user typed the wrong server address.
C. The server requires a public key for authentication, but the user did not provide one.
D. The file transfer was interrupted by network issues.

Solution

  1. Step 1: Interpret the error message

    Permission denied (publickey) means the server expects a public key for login but did not accept any provided or none was given.
  2. Step 2: Rule out other causes

    Wrong server address or missing SFTP command would cause different errors. Network interruption would not cause a permission denied error.
  3. Final Answer:

    The server requires a public key for authentication, but the user did not provide one. -> Option C
  4. Quick Check:

    Public key error means missing or wrong key [OK]
Hint: Permission denied (publickey) means missing SSH key [OK]
Common Mistakes:
  • Assuming network issues cause permission denied
  • Thinking the command is missing on client
  • Confusing server address errors with authentication errors
5. You need to securely transfer multiple files from your local machine to a remote server over an untrusted network. Which approach is best to ensure security and efficiency?
hard
A. Use SFTP to transfer files directly with encryption.
B. Use FTP with a VPN connection to encrypt the data.
C. Use FTP without encryption because it's faster.
D. Use HTTP to upload files through a web browser.

Solution

  1. Step 1: Evaluate security needs

    Since the network is untrusted, encryption is necessary to protect data during transfer.
  2. Step 2: Compare transfer methods

    SFTP provides built-in encryption and secure authentication, making it ideal for secure file transfer. FTP alone is not secure, even with VPN it adds complexity. HTTP is not designed for secure file transfer.
  3. Final Answer:

    Use SFTP to transfer files directly with encryption. -> Option A
  4. Quick Check:

    SFTP = secure and efficient file transfer [OK]
Hint: Choose SFTP for secure file transfer over untrusted networks [OK]
Common Mistakes:
  • Relying on FTP without encryption
  • Assuming VPN always solves FTP security
  • Using HTTP which is not meant for file transfer
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard