Avatar billede p_gaard Juniormester
15. marts 2008 - 23:00 Der er 14 kommentarer og
1 løsning

At komme på intranet hjemmefra via sockets.

Hej,

Jeg skal finde et spændedende projekt til en kursusopgave (opg. kræver brug af sockets). Jeg kunne godt tænke mig at lave et program som gør det muligt for mig at browse på intranettet hjemmefra eller f.eks. hente filer. Det ville jo være mest oplagt at på min arbejdsplads installere en serverapplikation som sender request videre til intranettet. Problemet er at der på arb. er lukket for porte for den slags naturligvis af sikkerhedsmæssige årsager.

Min ide går så ud på at lade pc'en (i hjemmet) være server og at  pc'en på arbejdet som klient med jævne mellemmrum forsøger at koble sig på denne.

Dvs. vil jeg på intranettet hjemmefra starter jeg serverapplikationen på min hjemmepc og kan forvente at pc'en på mit arbejde f.eks. 5 minutter efter "opretter forbindelse" til min hjemmepc via ip-adr og portnummer.

Spørgsmålet er så (når forbindelsen er etableret) om jeg på serversiden (hjemme) (via tastatur) kan sende forespørgsler til min klientapplikation (på arbejdet) som så behandler dette request og returnerer svar gennem socket.

Jeg spørger de socket-erfarne om ovenstående vil være muligt ved hjælp af et rimeligt simpelt sæt applikationer klientapp/serverapp og evt. ledetråd. Jeg har i forvejen et rimeligt kendskab til servlet/applet tekn.
Avatar billede smitten1 Nybegynder
15. marts 2008 - 23:08 #1
Jeg tror du skulle have beskrevet projeket anderledes. Din beskrivelse går mod hacking af netværk ...
Avatar billede arne_v Ekspert
15. marts 2008 - 23:42 #2
Det er ikke hacking, da han i forvejen har adgang til PC'en på firmaets netværk.

Men derfor er jeg nu ikke sikker på at firmaets sikkerheds folk er vildt begejstrede
for ideen.
Avatar billede arne_v Ekspert
15. marts 2008 - 23:45 #3
Det er heller ikke sikkert at det kan lade sig gøre.

Hvis firmaets internet er sat op med en firewall som ikke tillader inbound connects
men tillader alle outbound conects (ligesom en typisk hjemme firewall), så er det
muligt.
Avatar billede arne_v Ekspert
15. marts 2008 - 23:45 #4
Men hvis firmaets firewall kun tillader udgående forbindelser fra en proxy server
der kun understøtter HTTP og FTP, så er det ikke muligt.
Avatar billede arne_v Ekspert
15. marts 2008 - 23:46 #5
Rent teknisk kan du sende hvad som helst i hvilken som helst retning hvis du får
etableret en rå socket connection.
Avatar billede smitten1 Nybegynder
15. marts 2008 - 23:47 #6
Det er vel hacking i det øjeblik man omgår firmaets sikkerhedspolitik/firewall. Og mine tanker strejfede nok også muligheden for at lokke folk til at køre sådan en applikation
Avatar billede smitten1 Nybegynder
15. marts 2008 - 23:49 #7
Hvorfor skulle det ikke være muligt, hvis firmaet har en proxy? Man kan jo godt udveksle ting og sager gennem en almindelig http forbindelse
Avatar billede arne_v Ekspert
15. marts 2008 - 23:56 #8
Man kan også en del gennem HTTP, men jeg vil ikke kalde det "komme på intranet" - dertil
er begrænsningerne i HTTP protokollen for store.
Avatar billede smitten1 Nybegynder
16. marts 2008 - 00:01 #9
Der findes uhyggelige eksempler på hvordan man kan "komme på" ved at lave en tunnel gennem en HTTPS forbindelse
Avatar billede p_gaard Juniormester
16. marts 2008 - 01:07 #10
Sikkerhedsmæssigt udsætter jeg vel ikke min arbejdsplads for noget særligt. Det er snarere min hjemmepc der har et problem i det at en port står åben. Maskinen på mit arbejde forsøger kun at oprette forbindelse til min private ip-adresse/portnummer. Og med hensyn til trafikken har folk jo altid mulighed for at forwarde intranetsider hjem til sig selv.

Det lyder som om det skal forsøges. I princippet er det også med hensyn til kursusopgaven fint nok hvis det fungerer på to maskiner lokalt, lærer og sensor kan jo ikke vide hvilken begrænsninger netværket har på lige netop min arbejdsplads.

I opgaven kan jeg evt. også skrive om hvordan en lignende applikation kan misbruges, altså om hvordan man kan bilde folk ind at det er et sjovt pacman spil som de kan downloade gratis.

Som sagt er jeg ny i socket. Jeg har været inde på siden.

http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html

Dette er meget grundlæggende kode. Så er det spørgsmålet hvordan jeg kan lave brugerinput på serversiden. Så jeg under en session løbende kan taste hvilken side jeg vil se. Normalt er det jo hos klienten et sådan brugerinput ligger.

Findes der evt. et bedre eksempel end ovenstående hvor jeg kan starte?
Avatar billede arne_v Ekspert
16. marts 2008 - 02:13 #11
En socket er som sagt bidirectional.

Du kan godt:

client                            server

                                  ServerSocket
Socket
                                  Socket accept
getInputStream
getOutputStream
BufferedReader
PrintWriter
                                  getInputStream
                                  getOutputStream
                                  BufferedReader
                                  PrintWriter
readLine
                                  println kommando
                                  readLine
process kommando
println svar
                                  process svar
Avatar billede p_gaard Juniormester
16. april 2008 - 10:18 #12
Fint!. Jeg har sammensat noget kode ud fra din model.
Avatar billede arne_v Ekspert
26. april 2008 - 21:56 #13
Hvis din moral med hensyn til hvad dette skal bruges til ligger på linie med
din moral med hensyn til point her på E, så ........
Avatar billede p_gaard Juniormester
26. april 2008 - 22:40 #14
Jeg vil naturligvis gerne give dig dine point, hvilket jeg vist også tidligere har gjort. Der gik noget galt her. Jeg fik ikke den lille listbox frem hvor jeg kan markere.
Avatar billede p_gaard Juniormester
13. august 2008 - 00:36 #15
Så er projektet afleveret og eksamen overstået. Det lykkedes mig faktisk at køre den over ssl/tls med public key kryptografi. Jeg skal ikke bruge selve tunnelen til noget, men der ligger jo en del viden i den som kan bruges i andre sammenhænge. Jeg kan desværre ikke give point til Arne. Det ser ud som om jeg har gevet dem til mig selv ved en fejl.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester