The workflow for an FTP upload, or a put operation, works similarly.
I won't cover all the supplementary details again,
but we'll focus on the new pieces.
The client still uses the port command to tell the server on
which TCP port to establish a data channel.
That's consistent for any FTP active mode operation.
The ALLO command stands for allocate and instructs the server to
allocate 48 bytes for the file to be uploaded.
This is an unnecessary step on modern FTP servers,
so the server says, that's unimportant, let's move on to the next step.
The client then sends the STOR command along with the file name to upload.
The client is requesting that the server store this
file on its local file system.
The server initiates the data session towards the client on port 44667,
learned from the PORT command, then announces okay,
send your data.
The client uploads the file sourced from the dynamic port
sent to the server and destined to port 20.
The direction of transfer was reversed, but the server-to-client data channel was built the same way.