Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Προγράμμα αναζήτισης των τοπικών διευθύνσεων

Προγράμμα αναζήτισης των τοπικών διευθύνσεων 6 Χρόνια 8 Μήνες πριν #4629

  • Fr0z
  • Το Άβαταρ του/της Fr0z
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 4
import socket

ip = '192.168.1'

def ip_check():

f = open('Output.txt', 'w')
socket.setdefaulttimeout(2)
s = socket.socket()
for i in range(1, 254):
s.connect((ip +'.'+ str(i), 443))
if s.listen(1) == True:
f.write(ip +'.'+ str(i))

f.read()
f.close()

ip_check()


error: [Errno 10056] A connect request was made on an already connected socket
ενώ δεν κάνω bind απλά θέλω να στείλω ένα byte για να δώ αν υπάρχει αυτή η διεύθυνση.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγράμμα αναζήτισης των τοπικών διευθύνσεων 6 Χρόνια 8 Μήνες πριν #4632

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Από αυτά που ξέρω

Δεν μπορείς να κάνεις listen σε connected socket object

listen κάνεις σε server socket σε socket δηλαδή που έχεις κάνει bind

Επιπλέον δεν μπορείς να κάνεις bind σε δεσμεύμενες port διάλεγε μεγάλα νούμερα 4 ψήφια έχεις μέχρι το 65000

εφόσον το socket object κάνει connect σημαίνει ότι η διεύθυνση υπάρχει και ακούει δεν χρειάζεται να κάνεις κάτι άλλο μπορείς να αρχίσεις επικοινωνία

όπως έχεις το βρόγχο αν κάνει κάπου connect θα είναι connected και δεν θα μπορεί να κάνει αλλού.
ίσως κάτι τέτοιο να δουλέψει
>>> import socket
>>> socket.setdefaulttimeout(1)
>>> lives=[]
>>> for i in range (1,255):
	s=socket.socket()
	try:
		s.connect(('192.168.1.'+str(i),443))
		lives.append(s)
	except:
		pass
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγράμμα αναζήτισης των τοπικών διευθύνσεων 6 Χρόνια 8 Μήνες πριν #4635

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Σχετικά με τα ports:
Ports
-----
 
There are 3 types of ports.
 
-   the System Ports, also known as the Well Known Ports, from 0-1023
    (assigned by IANA)
-   the User Ports, also known as the Registered Ports, from 1024-49151
    (assigned by IANA)
-   the Dynamic Ports, also known as the Private or Ephemeral Ports,
    from 49152-65535 (never assigned)
 
We should use the dynamic ports <b>49152-65535</b>. The problem with
User ports is that in the future IANA may assign the Port we use.
 
According to the
[RCFC6335](http://tools.ietf.org/html/rfc6335#section-8.1.2):
 
> Ports in the Dynamic Ports range (49152-65535) have been specifically
> set aside for local and dynamic use and cannot be assigned through
> IANA.

Εν ολίγοις για τα ports 0-1023 χρειάζεσαι administrator/root permissions.
Τελευταία διόρθωση: 6 Χρόνια 8 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.359 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου