Information Gatheringftpfile-transfernetworkipv6proxy

tnftp

tnftp is an enhanced FTP client ported from NetBSD, offering advanced features like command-line editing, URL fetching, and IPv6 support. It provides superior functionality over standard FTP clients for secure and efficient file transfers.

Description

tnftp is an enhanced version of the traditional FTP client originally developed for NetBSD and ported to other systems including Kali Linux. It serves as a powerful tool for transferring files over FTP, HTTP, HTTPS, and file protocols, making it versatile for network administrators, penetration testers, and users requiring robust file transfer capabilities.

Key use cases include fetching remote files via URLs with proxy and authentication support, directory listings with paging, and transfer rate throttling for controlled bandwidth usage. Its context-sensitive command completion and dynamic progress bar improve user experience during interactive sessions.

The tool supports both active and passive modes with fallback, IPv6, and firewall proxy configurations, making it suitable for modern network environments. Additionally, a dummy transitional package 'ftp' allows seamless upgrades from legacy FTP clients.

How It Works

tnftp operates as a command-line client supporting FTP, HTTP, HTTPS, and local file protocols. It implements enhancements like readline-based command editing, tab completion for commands and filenames, and dynamic progress bars during transfers. URL fetching parses schemes including proxy variables ($http_proxy, $ftp_proxy), authentication, and passive mode with active fallback. IPv6 is natively supported, modification times are preserved, and features like transfer throttling (-T) and gate proxy support enable advanced firewall traversal and bandwidth control.

Installation

bash
sudo apt install tnftp

Flags

-4Force IPv4
-6Force IPv6
-AEnable anonymous login
-aEnable account
-dEnable debugging
-eDisable command-line editing
-fDisable filename completion
-gDisable expansion of {fileglobbing}
-iTurn off interactive prompting
-nDisable auto-login
-pEnable passive mode
-RRestart
-tEnable packet tracing
-VVerbose output
-vVerbose output
-b BUFSIZESet buffer size
-H HEADERSet HTTP header
-N NETRCUse specified .netrc file
-o OUTPUTSet output file
-P PORTUse specified port
-q QUITTIMESet quit time
-r RETRYSet retry count
-s SRCADDRSet source address
-T DIR,MAX[,INC]Set transfer rate throttling
-x XFERSIZESet maximum transfer size

Examples

Display usage information (note: -h is unknown option)
tnftp -h
Connect to FTP server at HOST on specified PORT as USER
tnftp USER@HOST PORT
Connect to FTP server and change to PATH directory
tnftp USER@HOST:PATH/
Access local file path
tnftp file:///PATH
Fetch file via FTP URL with optional authentication and type
tnftp ftp://[USER:PASSWORD@]HOST:PORT/PATH/;type=TYPE
Fetch file via HTTP URL with optional authentication
tnftp http://[USER:PASSWORD@]HOST:PORT/PATH
Fetch file via HTTPS URL with optional authentication
tnftp https://[USER:PASSWORD@]HOST:PORT/PATH
Updated 2026-04-16kali.org ↗