CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring...

19
CheapChat: a Java- based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring...

Page 1: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

CheapChat: a Java-based chat application

Nicolas Ducheneaut

Mike Gebbie

Barbara Rosario

SIMS, Spring 2000

Page 2: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Chat application with Port Scanner

• 2 modules: – Port Scanner– Chat application acting both as a

server and a client

Page 3: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

Possible Ports: (0–1023) (1024–49151) (49152-65535)

Page 4: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

Possible Ports: (0–1023) (1024–49151) (49152-45535)

findTheApplicationPort(Host Address, Start Port,

End Port )

Keep Trying…

Page 5: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

CheapChat “Client”

CheapChat “Server”

(Port 50005)

Page 6: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

CheapChat “Client”

CheapChat “Server”

(Port 50005)Try 50000…Timeout …

Page 7: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

CheapChat “Client”

CheapChat “Server”

(Port 50005)PortScanner

Invoke!

PS

Page 8: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

CheapChat “Client”

CheapChat “Server”

(Port 50005)PortScannerTry

50001…Try

50002…Try

50003…Try

50004…

PortScannerThreads

Page 9: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

CheapChat “Client”

CheapChat “Server”

(Port 50005)PortScanner

PortScannerThreads

Connect at 50005

Authenticate:

“Are you a CheapChat

server?”

Page 10: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

CheapChat “Client”

CheapChat “Server”

(Port 50005)PortScanner

PortScannerThreads Reply:

“I am a CheapChat

server!”

Page 11: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Port Scanner

CheapChat “Client”

CheapChat “Server”

(Port 50005)

Connect at 50005

Page 12: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

C onnect to Server SocketSends strings to Server and receives InputS tream from the server; d ip lay it or (ifspecia l m essages) do som eth ing e lse

Chat1

ACTIVE : O pen Server SocketW ait for connectionC reate a C hatH andler ob ject

Server

C lient

ChatHandler

broadcast()

C hatH anler1run()

Chat 1: first to start Chat

Page 13: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.
Page 14: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.
Page 15: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.
Page 16: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.
Page 17: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.
Page 18: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Problems and potential remedies

• Main weakness: clear-text administrative messages sent over the communication channel– > Solution: use two separate data streams instead

• No way to know in advance if someone is on-line– > Solution: adapt the port scanner and use it before the application is launched

Page 19: CheapChat: a Java-based chat application Nicolas Ducheneaut Mike Gebbie Barbara Rosario SIMS, Spring 2000.

Thank you for your attention

Questions? Comments?