How to recursively search FTP server using Linux?

Use curlftpfs.

The program curlftpfs is a tool to mount remote ftp hosts as local directories.

This is a FUSE-based solution, get familiar with security concerns. You can (and should) do the mounting as a normal user:

curlftpfs -r ftp.dd-wrt.com ~/mnt/foo/

Then play with find or whatever. To unmount:

fusermount -u ~/mnt/foo/