Συζητήσεις σχετικά με θέματα που αφορούν το networking και ευρυζωνικές συνδέσεις, providers, τηλεφωνικά δίκτυα, δίκτυα κινητής κτλ.
-
Babedacus
- Kilobyte level

- Posts: 299
- Joined: Mon Nov 21, 2005 1:05 pm
Post
by Babedacus » Sun Aug 13, 2006 2:11 am
Πρόγραμμα-πελάτης θέλει να συνδεθεί σε απμακρυσμένο υπολογιστή.Πως μπορώ να το κάνω να νομίζει πως συνδέθηκε με αυτόν ενώ στην πραγματικότητα έχει συνδεθεί στον localhost;Μπορώ να τρέξω κάποιο daemon και να το βάλω να ακούει "εξερχόμενες κλήσεις",η κάποια υπηρεσία;Το τι δεδομένα θα δίνω και θα παίρνω είναι δικό μου θέμα.Απλώς θέλω να παρεμβάλω την εφαρμογή μου ανάμεσα στο πρόγραμμα αυτό και το απομακρυσμένο πρόγραμμα-δούλος.
Σχήμα:
Code: Select all
Πελάτης--->Πελάτης/Δούλος(Δικό μου)--->Δούλος
Αν σας μπέρδεψα ρωτήστε με για διευκρινίσεις,γιατί είμαι και λίγο νέος στο άθλημα και είναι πιθανό να ήταν ανακριβής η διατύπωση μου.
-
tsilochr
- Wow! Terabyte level

- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
-
Contact:
Post
by tsilochr » Sun Aug 13, 2006 3:13 am
μάλλον είναι πολύ εύκολο αυτό που θες αλλά για να είμαστε σιγουροι δώσε μια αναλυτική περιγραφή του τι προσπαθείς να κάνεις
-
Babedacus
- Kilobyte level

- Posts: 299
- Joined: Mon Nov 21, 2005 1:05 pm
Post
by Babedacus » Sun Aug 13, 2006 1:02 pm
Θέλω να φτιάξω ένα πρόγραμμα το οποίο να πιάνει τις εξερχόμενες συνδέσεις,να παίρνει το προεπιλεγμένα ρεύματα Εισόδου-εξόδου και να τα ανακατευθύνει στον απομακρυσμένο.
Παράδειγμα:
Code: Select all
Πριν:Firefox(Τοπικός υπολογιστής)->Apache(Απομακρυσμένος υπολογιστής)
Μετά:Firefox(Τοπικός υπολογιστής)->MyProgram(Τοπικός υπολογιστής)->Apache(Απομακρυσμένος υπολογιστής)
Δηλαδή να ξεγελάσω τον client και να νομίζει πως συνδέθηκε στον server,με το να παίρνω το default OutputStream του client και να το γράφω στο default InputStream του server,και το default OutputStream του server στο default InputStream του client.Κατι έχω ακούσει για την μηδενική IP,ξέρει κανείς τι παίζει και αν είναι αυτό που ψάχνω;
-
tsilochr
- Wow! Terabyte level

- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
-
Contact:
Post
by tsilochr » Mon Aug 14, 2006 2:37 pm
λίγο ζόρικα πράγματα ζητάς.
Υπόθεση 1 (απίθανο)
Αν απλά θες να φτιάξεις μια δική σου αυτόνομη εφαρμογή που θα μιλά μέσω δικτύου, τότε μπορείς να στήσεις client και server στο ίδιο pc , χρησιμοποιώντας την default ΙΡ 127.0.0.1
Υπόθεση 2 (μάλλον αυτό που θέλεις να κάνεις)
Θες να φτιάξεις ενα ενδιάμεσο πρόγραμμα που θα φιλτράρει όλη την κίνηση δικτύου που γίνεται στο pc? Στα γρήγορα αυτό που μου έρχεται είναι να θέσεις κάποιο άλλο pc ως default gateway που κάνει εκ νέου δρομολόγηση πακέτων (software router δλδ). Αυτό θέλει δεύτερο pc αφενός, αφετέρου δεν θα έχεις πρόσβαση στα ρεύματα των εφαρμογών αλλά στα IP πακέτα που φέυγουν από τους "πελάτες".
Κάποιο network sniffing ίσως?
Για δώσε κι άλλες πληροφορίες για το τι θες να κάνεις ακριβώς μήπως κατέβει καμιά άλλη ιδέα (απάντηση όμως θα ξαναβάλω από τις 19/8 και μετά)
-
Erevodifwntas
- Gbyte level

- Posts: 1098
- Joined: Thu Apr 22, 2004 2:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: In a Long Time Ago in A Galaxy far far away
-
Contact:
Post
by Erevodifwntas » Mon Aug 14, 2006 2:46 pm
<off topic> αυτά τα ρεύματα τι θα θέλατε... καλά τα ελληνικά... αλλά ξεφύγατε </off topic>
Go To Statement Considered Harmful (Τιτλος δημοσίευσης του Edsger Dijkstra).
my personal site
-
Babedacus
- Kilobyte level

- Posts: 299
- Joined: Mon Nov 21, 2005 1:05 pm
Post
by Babedacus » Mon Aug 14, 2006 5:53 pm
tsilochr wrote:Θες να φτιάξεις ενα ενδιάμεσο πρόγραμμα που θα φιλτράρει όλη την κίνηση δικτύου που γίνεται στο pc?
Περίπου.Θέλω να ελέγχει μια πόρτα (Erevodifwntas μην αρχίσεις πάλι για την ελληνοποίηση των ξένων όρων:P) μόνο.Δεύτερο PC δεν έχω,οπότε η λύση αυτή δεν παίζει.Ένα σχετικό παράδειγμα είναι το firewall.Ελέγχει την κίνηση όλου του δικτύου.Εγώ θέλω ένα που να κοιτάει μια πόρτα και να μην παίζει κανένα ρόλο.Να μην αλλοιώνει τα δεδομένα,να μην τα επηρεάζει καθόλου γενικότερα.Απλώς να τα αναλύει,να τα καταγράφει,κοκ,και να αποστέλλει στον παραλήπτη τους.
-
PaP
- Venus Project Founder

- Posts: 1077
- Joined: Wed Apr 21, 2004 12:06 am
- Academic status: Alumnus/a
- Location: San Francisco
-
Contact:
Post
by PaP » Tue Aug 15, 2006 11:34 am
Κοίτα τον κώδικα του Ethereal
-
vangos
- Mbyte level

- Posts: 571
- Joined: Tue Mar 16, 2004 3:14 pm
- Location: Heracleia@UTA
Post
by vangos » Tue Aug 15, 2006 12:34 pm
Αυτό που χρειάζεσαι νομίζω είναι ένας proxy server. Εγκαθιστάς τον proxy server τοπικά και στη συνέχεια όλη η κυκλοφορία περνάει μέσω αυτού οπότε μπορείς και να την ελέγχεις με διάφορους τρόπους. Για περισσότερες πληροφορίες δες στο
http://en.wikipedia.org/wiki/Proxy_server.
P.S. Η αλήθεια είναι ότι δεν το έχω δοκιμάσει ο ίδιος αλλά νομίζω ότι γίνεται. Τα παιδιά που ασχολούνται με δίκτυα ίσως μπορούν να σου εξηγήσουν περισσότερα.
-
HdkiLLeR
- Venus Project Founder

- Posts: 4356
- Joined: Tue Jan 27, 2004 4:41 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: New York, NY
-
Contact:
Post
by HdkiLLeR » Mon Aug 21, 2006 2:10 pm
Αυτό που θέλεις να κάνεις γίνεται μόνο με proxy (squid - best proxy server ever) και όχι με passive sniffing (βλ. Ethereal).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie