summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler St. Onge <tylertstonge@gmail.com>2020-07-24 14:46:29 -0400
committerTyler St. Onge <tylertstonge@gmail.com>2020-07-24 14:46:29 -0400
commit945332ca057383f258c78fd15cbc22f8b8d58a83 (patch)
tree95ef0b431fbe18f214a2d98e5fc5635d70742716
parent8eba99109961802207c5cce7f9c7708153a9486f (diff)
restructure project and flesh out more commands
-rw-r--r--src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala27
-rw-r--r--src/main/scala/com/tylerstonge/honeypot/ftp/FtpListener.scala24
-rw-r--r--src/main/scala/com/tylerstonge/honeypot/http/HttpListener.scala1
-rw-r--r--src/main/scala/com/tylerstonge/honeypot/http/SimplisticHandler.scala (renamed from src/main/scala/com/tylerstonge/honeypot/SimplisticHandler.scala)2
4 files changed, 29 insertions, 25 deletions
diff --git a/src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala
new file mode 100644
index 0000000..8a55396
--- /dev/null
+++ b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpHandler.scala
@@ -0,0 +1,27 @@
+package com.tylerstonge.honeypot.ftp
+
+import akka.actor.Actor
+import akka.event.{Logging, LoggingAdapter}
+import akka.io.Tcp.{PeerClosed, Received, Write}
+import akka.util.ByteString
+
+class FtpHandler extends Actor {
+ val log: LoggingAdapter = Logging(context.system, this)
+
+ override def receive: Receive = {
+ case Received(data) =>
+ log.info(">> {}", data.utf8String)
+ sender() ! Write(ByteString.apply(parse(data.utf8String)))
+ case PeerClosed =>
+ log.info("closing connection")
+ context.stop(self)
+ }
+
+ def parse(msg: String): String = msg match {
+ case "USER anonymous\n" => "331 Please specify password.\n"
+ case "PASS password\n" => "230 Login successful.\n"
+ case "PWD\n" => "257 \"/\" is the current directory\n"
+ case "QUIT\n" => "221 Goodbye.\n"
+ case _ => "200 sure\n"
+ }
+}
diff --git a/src/main/scala/com/tylerstonge/honeypot/ftp/FtpListener.scala b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpListener.scala
index 460f2f8..3e6606a 100644
--- a/src/main/scala/com/tylerstonge/honeypot/ftp/FtpListener.scala
+++ b/src/main/scala/com/tylerstonge/honeypot/ftp/FtpListener.scala
@@ -13,7 +13,6 @@ class FtpListener extends Actor {
val log: LoggingAdapter = Logging(context.system, this)
IO(Tcp)(context.system) ! Bind(self, new InetSocketAddress("localhost", 2121))
-
override def receive: Receive = {
case Bound(localAddress) =>
log.info("listening on {}", localAddress)
@@ -24,25 +23,4 @@ class FtpListener extends Actor {
connection ! Register(handler)
connection ! Write(ByteString.apply("220 (vulnFTPd 2.0.1)\n"))
}
-}
-
-class FtpHandler extends Actor {
- val log: LoggingAdapter = Logging(context.system, this)
-
- override def receive: Receive = {
- case Received(data) => {
- log.info(">> {}", data.utf8String)
- sender() ! Write(ByteString.apply(parse(data.utf8String)))
- }
- case PeerClosed => {
- log.info("closing connection")
- context.stop(self)
- }
- }
-
- def parse(msg: String): String = msg match {
- case "AUTH SSL" => "500 cmd not recognized\n"
- case "USER dropkick" => "200 come on in\n"
- case _ => "200 sure\n"
- }
-}
+} \ No newline at end of file
diff --git a/src/main/scala/com/tylerstonge/honeypot/http/HttpListener.scala b/src/main/scala/com/tylerstonge/honeypot/http/HttpListener.scala
index edd2b01..8943ee0 100644
--- a/src/main/scala/com/tylerstonge/honeypot/http/HttpListener.scala
+++ b/src/main/scala/com/tylerstonge/honeypot/http/HttpListener.scala
@@ -6,7 +6,6 @@ import akka.actor.{Actor, Props}
import akka.event.Logging
import akka.io.Tcp._
import akka.io.{IO, Tcp}
-import com.tylerstonge.honeypot.SimplisticHandler
class HttpListener extends Actor {
diff --git a/src/main/scala/com/tylerstonge/honeypot/SimplisticHandler.scala b/src/main/scala/com/tylerstonge/honeypot/http/SimplisticHandler.scala
index 41b49c9..2fe1409 100644
--- a/src/main/scala/com/tylerstonge/honeypot/SimplisticHandler.scala
+++ b/src/main/scala/com/tylerstonge/honeypot/http/SimplisticHandler.scala
@@ -1,4 +1,4 @@
-package com.tylerstonge.honeypot
+package com.tylerstonge.honeypot.http
import akka.actor.Actor
import akka.io.Tcp.{PeerClosed, Received, Write}