macOS Catalinaでもtftpサーバを使いたい

 ルータやスイッチのSWイメージを操作剃る時に、TFTPサーバがあると便利です。FTPサーバももはや死語に近いご時世で、TFTPって何?と思われる方もいると思いますが、ファイル転送のためのアプリケーションプロトコルです。

TFTP (Trivial File Transfer Protocol) は、UDP port 69を使い認証機能などなく、純粋にファイルを転送するためのプロトコルです。クライアント-サーバ型のアプリケーションですので、TFTPサーバとTFTPクライアントがいます。

macOSでは、OSに tftpd が搭載されていて、利用することができます。
これまでのバージョンでも利用できてましたが、macOS Catalinaでもtftpdを動かせました。

tftpdを起動する


$ sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist


$ sudo lsof -i :69 
Password: 
COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME 
launchd   1 root   23u  IPv6 0x3062b36b420cb861      0t0  UDP *:tftp 
launchd   1 root   38u  IPv6 0x3062b36b420cb861      0t0  UDP *:tftp 
launchd   1 root   44u  IPv4 0x3062b36b420ca409      0t0  UDP *:tftp 
launchd   1 root   45u  IPv4 0x3062b36b420ca409      0t0  UDP *:tftp

ファイルを配置する

/private/tftpboot 配下にファイルを配置

TFTPでファイル転送する

macOS上では、ターミナルで、tftpコマンドが利用可能です。
※Ciscoルータでは、IOSイメージをtftpサーバからファイル転送する場合、「copy tftp: flash:」コマンドで利用できます。


$ tftp 
tftp> connect  
(to) 192.168.11.2 
tftp> binary 
tftp> get test.jpg Received 13013 bytes in 0.8 seconds 
tftp>  
tftp> quit $

tftpdを終了する


$ sudo launchctl unload -w /System/Library/LaunchDaemons/tftp.plist

念の為、ポートが閉じているか、確認しておきましょう。


$ sudo lsof -i :69 
$
 

 

投稿者:

naoya

IT業界(ネットワーク系)の管理職。2児のパパもやってます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です