From 384d4fabdea754d1b37922fa13b6875aac3c4aca Mon Sep 17 00:00:00 2001 From: "Tyler St. Onge" Date: Sat, 22 Aug 2020 02:10:32 -0400 Subject: randomly generate passive port --- .../scala/com/tylerstonge/honeypot/ftp/FtpFileReceiver.scala | 2 ++ src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/scala/com/tylerstonge/honeypot/ftp/FtpFileReceiver.scala b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpFileReceiver.scala index 9f88b06..fa54d28 100644 --- a/src/main/scala/com/tylerstonge/honeypot/ftp/FtpFileReceiver.scala +++ b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpFileReceiver.scala @@ -49,3 +49,5 @@ class FtpFileReceiver(port: Int, controller: ActorRef) extends Actor { } } } + +case class Ready() \ No newline at end of file diff --git a/src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala index 840ce97..46263c6 100644 --- a/src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala +++ b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala @@ -5,6 +5,8 @@ import akka.event.{Logging, LoggingAdapter} import akka.io.Tcp.{PeerClosed, Received, Write} import akka.util.ByteString +import scala.util.Random + object FtpHandler { def props(client: ActorRef): Props = Props(new FtpHandler(client)) } @@ -31,9 +33,12 @@ class FtpHandler(client: ActorRef) extends Actor { case "quit" => "221 Goodbye.\n" case "pasv" => log.info("entering passive mode") - context.actorOf(FtpFileReceiver.props(1287, client), name = "passive-connection") + val r = new Random() + val p1 = r.nextInt(200) + val p2 = r.nextInt(200) + context.actorOf(FtpFileReceiver.props(p1 * 256 + p2, client), name = "passive-connection") Thread.sleep(256) - "227 entering passive mode (127,0,0,1,5,7)\n" + "227 entering passive mode (127,0,0,1," + p1 + "," + p2 + ")\n" case "stor" => log.info("stor: {}", msg(1)) "150 File status okay; about to open data connection.\n" -- cgit v1.1