sarakinos Δημοσ. 14 Δεκεμβρίου 2009 Μέλος Share Δημοσ. 14 Δεκεμβρίου 2009 Σαν να κάνω κάτι τώρα,να διορθώσω λίγο τα loops και θα ποστάρω... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Ότι γράφει ο 4 εμφανίζετε στον 2. Ότι γράφει ο 3 εμφανίζετε στον 1. O 1 και ο 3 είναι σε έναν υπολογιστή και o 2 με τον 4 σε άλλον. Edώ δεν στέλνω τίποτε στο background. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
sarakinos Δημοσ. 14 Δεκεμβρίου 2009 Μέλος Share Δημοσ. 14 Δεκεμβρίου 2009 > while true; do nc -vv -l -p 789 | openssl rsautl -inkey private.key -decrypt; done & read flag while [ $flag != "break" ];do echo $flag | openssl rsautl -pubin -inkey public.key -encrypt | nc 192.168.2.5 456;done Σκεφτομαι κάτι τέτοιο σε κάθε μηχάνημα..με διαφορετικές τιμές φυσικά..έτσι όταν γράφω κάτι και μετά πατάω ctrl+c το μήνυμα εμφανίζεται στο άλλο.Επίσης από το 2ο γίνεται το ίδιο..Όταν πάω να ξαναγράψω όμως παίρνει το μήνυμα σαν κανονική command και με πετάει..θέλει κάτι ακόμα στο loop έτσι?μπορείτε να βοηθήσετε?Και ακόμη πως μπορώ να βάλω το ctrl+c στο script?Δεν θέλω να το κάνω με kill γιατί δεν ξέρω το pid κάθε φορά... ---------- Το μήνυμα προστέθηκε στις 17:43 ---------- Ότι γράφει ο 4 εμφανίζετε στον 2. Ότι γράφει ο 3 εμφανίζετε στον 1. O 1 και ο 3 είναι σε έναν υπολογιστή και o 2 με τον 4 σε άλλον. Edώ δεν στέλνω τίποτε στο background. Ναι αλλά εδώ δεν έχουμε και την openssl σωστά? Υποθέτοντας ότι τρέχεις το δικό μου script παντα.. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Την έχουμε την openssl. Hint (που λέει και ο nske ): I/O redirection, stdout stderr. http://tldp.org/LDP/abs/html/io-redirection.html Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
sarakinos Δημοσ. 14 Δεκεμβρίου 2009 Μέλος Share Δημοσ. 14 Δεκεμβρίου 2009 Μπορείς να γίνεις λίγο ποιο κατατοπιστικός τότε ? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Για τον client κάνω το παρακάτω: > while [ true ]; do read message2send echo $message2send | openssl rsautl -pubin -inkey public.key -encrypt | nc -c -vv localhost $port1 [color=red][b][size=+1]2>[/size][/b] /dev/null[/color] done Για τον server: > while [ true ]; do message=`nc -vv -l -p $port [color=red][b][size=+1]2>[/size][/b] /dev/null[/color] | openssl rsautl -inkey private.key -decrypt` echo $message done Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nske Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Και ακόμη πως μπορώ να βάλω το ctrl+c στο script?Δεν θέλω να το κάνω με kill γιατί δεν ξέρω το pid κάθε φορά... Το πιο απλό είναι να εγκαταστήσεις τη gnu netcat και να χρησιμοποιήσεις το -c argument της. > -c, --close close connection on EOF from stdin Ή την bsd netcat και να χρησιμοποιήσεις το -o > -o Terminate on EOF on input Εκτός και αν το υποστηρίζει και η netcat που χρησιμοποιείς με κάποιο argument. Αν θέλεις να το κάνεις με kill, υπάρχει και η killall και η pidof. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
sarakinos Δημοσ. 14 Δεκεμβρίου 2009 Μέλος Share Δημοσ. 14 Δεκεμβρίου 2009 Το υποστηρίζει με το -q απ'ότι είδα.. Δοκιμάζω αυτά που μου έδωσες... Λοιπόν , οταν στέλνω κάτι απο τον client παει στον server οπως πρέπει...αν κάνω το αντίστροφο όμως ο client δεν δείχνει το μήνυμα του server κατευθείαν αλλα πρέπει να πατήσω ένα enter,ή να στείλω ένα μήνυμα ,έτσι ώστε να εμφανηστεί αυτό που μου είχε στείλει πριν.. ---------- Το μήνυμα προστέθηκε στις 18:44 ---------- Και να μου εξηγήσετε λίγο το "2> /dev/null" δάσκαλοι... Άκυρο είδα τι είναι...το 2> δεν καταλαβα... http://en.wikipedia.org/wiki//dev/null Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Έχεις δώσει στην netcat την παράμετρο -vv που την κάνει να δίνει πολλές χρήσιμες πληροφορίες που είναι όμως άχρηστο να εμφανίζονται στο παράθυρο του chat. Με τον τρόπο αυτό του λέω να στέλνει όλο το stderr στο /dev/null. εναλλακτικά θα μπορούσα να το στέλνω σε ένα αρχείο π.χ. chat.log για να μπορώ να βλέπω τι γίνεται. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
sarakinos Δημοσ. 14 Δεκεμβρίου 2009 Μέλος Share Δημοσ. 14 Δεκεμβρίου 2009 Κατσε...δηλαδή στο /dev/null πάει το outpud του -vv ,τo stderr δηλαδη.. Εγώ νόμιζα αποθηκέυεται το μήνυμα και μετά το παίρνει ο client να το κανει echo.. 2ον Σε ποιο σημείο του script που έδωσε ο nske , για τον server , διαβαζεται το μηνυμα και στέλνεται στον client? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Κάθε process στο Unix έχει 3 Input/Output streams ανοιχτά, στα 2 στέλνει το οποιοδήποτε output παράξει, είτε αυτό είναι μηνύματα στην οθόνη, είτε κάποιο crash, και το 3ο είναι το stream από το οποίο δέχεται input, όπως π.χ. κάποιες επιλογές του χρήστη σαν το μήνυμα που στέλνεις από τον client στον server στην περίπτωσή σου. Τα streams αυτά ονομάζονται STDIN (STanDard INput), STDOUT (STanDard OUTput) και STDERR (STanDard ERRor). Για να μπορεί να έχει επικοινωνία οποιοδήποτε πρόγραμμα με αυτά, τα ανοίγει σαν κανονικά αρχεία και όταν ανοίγουν αυτά τα "αρχεία" για να μπορέσει ένα πρόγραμμα (όπως το netcat) να τα χειριστεί, αυτά παίρνουν έναν αριθμό που λέγεται file descriptor. Όλες λοιπόν οι εφαρμογές που εκτελούνται σε ένα Unix σύστημα έχουν τουλάχιστον αυτά τα 3 "αρχεία" ανοιχτά και από default παίρνουν τα file descriptors 0 (stdin), 1 (stdout) και 2 (stderr). Από την άλλη, ο operator > στο bash (το shell που χρησιμοποιείς) στέλνει όποιο μήνυμα παράγεται από την εντολή αριστερά του operator στο αρχείο που ορίζεται στα δεξιά αυτού. Άν τώρα ο operator έχει και έναν αριθμό αμέσως πριν, στέλνει όλα τα μηνύματα που θα στέλνονταν στον file descriptor που δείχνει το νούμερο αυτό στο αρχείο δεξιά του >. Το /dev/null είναι ένα ειδικό αρχείο το οποίο ουσιαστικά εξαφανίζει οποιοδήποτε μήνυμα στέλνεται σε αυτό, στην πράξη ότι θα φαινότανε στον file descriptor 2 της εφαρμογής (stderr δηλαδή) εξαφανίζεται. Δέν νομίζω οτι μπορώ να στο εξηγήσω καλύτερα (τουλάχιστον οχι χωρίς να μπλέξουμε με κώδικα C) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Και κάτι άλλο. Όταν χρησιμοποιείς την exit να την χρησιμοποιείς με παράμετρο. Π.χ. exit 0 όταν το πρόγραμμα τερματίζει φυσιολογικά ή exit 1 όταν τερματίζει λόγο κάποιου error. Exit and Exit Status: http://tldp.org/LDP/abs/html/exit-status.html Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
sarakinos Δημοσ. 14 Δεκεμβρίου 2009 Μέλος Share Δημοσ. 14 Δεκεμβρίου 2009 μάλιστα...κατάλαβα...τελικά αυτό το project με έχει βοηθήσει πολύ ... η απορεία του προηγούμενου ποστ παραμένει όμως...εκτός και αν το εξήγησες κάπου έμμεσα και δεν το επιασα...συγχωράτε με,απο εχθές δεν σταματησα να διαβαζω στο google και εδω...σάλταρα! ---------- Το μήνυμα προστέθηκε στις 19:08 ---------- Και κάτι άλλο. Όταν χρησιμοποιείς την exit να την χρησιμοποιείς με παράμετρο. Π.χ. exit 0 όταν το πρόγραμμα τερματίζει φυσιολογικά ή exit 1 όταν τερματίζει λόγο κάποιου error. Το γνωρίζω αυτό φίλε μου,thanks anyway.. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Δες και αυτό που σου είπα για την ifconfig. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 14 Δεκεμβρίου 2009 Share Δημοσ. 14 Δεκεμβρίου 2009 Στο εξήγησα, ξαναδιάβασε λίγο το post μου. Στο /dev/null πάει οποιοδήποτε μήνυμα του netcat προοριζόταν από τον developer να είναι error ή warning, οχι αυτό το μήνυμα που δέχτηκε από το socket που άνοιξε για να ακούει. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.