HTTP HTTP GET FTP PASV FILE TFTP TFTP RRQ multiprotocol # # Server-side HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- data to see that FTP works so does it? a chunk of data returned to TFTP client # # Client-side http ftp file tftp HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order http://%HOSTIP:%HTTPPORT/20030001 ftp://%HOSTIP:%FTPPORT/20030002 file://localhost/%PWD/log/test2003.txt tftp://%HOSTIP:%TFTPPORT//20030003 tftp://%HOSTIP:%TFTPPORT//20030003 file://localhost/%PWD/log/test2003.txt ftp://%HOSTIP:%FTPPORT/20030002 http://%HOSTIP:%HTTPPORT/20030001 foo bar bar foo moo # # Verify data after the test has been "shot" ^User-Agent:.* GET /20030001 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* USER anonymous PASS ftp@example.com PWD EPSV TYPE I SIZE 20030002 RETR 20030002 opcode: 1 filename: /20030003 mode: octet opcode: 1 filename: /20030003 mode: octet EPSV SIZE 20030002 RETR 20030002 GET /20030001 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* QUIT HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- data to see that FTP works so does it? foo bar bar foo moo a chunk of data returned to TFTP client a chunk of data returned to TFTP client foo bar bar foo moo data to see that FTP works so does it? HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo-