elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 29
91  Programación / Scripting / Re: Sockets en: 20 Agosto 2020, 12:56 pm
A que te refieres con...?
Citar
Pero mi pregunta es con que puedo seguir ahora?
Puedes hacer lo que quieras. ¿Que quieres hacer? Puedes hacer desde una red de conexiones hasta un backdoor. ¿Que quieres hacer con ello?

Si quieres aprender a hacer conexiones sockets. Unicamente no te limites a seguir tutoriales. Esta bien para aprender los fundamentos. Pero aprenderás más cuando te pongas una meta y hagas un proyecto (no hace falta grande) que conlleve esto.

Te recomiendo que en la funcion bind() el string este vacio, ya que esta escuchando conexiones.
Código
  1. mi_socket = socket.socket()
  2. mi_socket.bind(('',8000 ))
  3. mi_socket.listen(5)  
  4.  

A no ser que quiera que escuche hacia una IP especifica.

Además estas creando un objeto socket.socket(), cuando creas un funcion socket sin parametros, por defecto estas creando un socket con paquetes TCP/IP y IPv4

Código
  1. mi_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
El primer parametro especifica el tipo de familia (IPv4, IPv6) y el segundo el tipo de paquete (TCP/UDP). Mira la documentación oficial
Doc: https://docs.python.org/3/library/socket.html?highlight=socket#socket.socket

Además. Estas trabajando en localhost? Si es así en el servidor cambia el:
Código
  1. mi_socket.bind(('192.168.1.31',8000 ))
a
Código
  1. mi_socket.bind(('',8000 ))

y en el cliente:
Código
  1. mi_socket.connect(('192.168.1.31', 8000))
a
Código
  1. mi_socket.connect(('127.0.0.1', 8000))
recuerda que 127.0.0.1/localhost es el loopback en IPv4 y en IPv6 es ::1

He probado tu código y va bién. Unicamente es que en el lado del servidor cuando muestras el mensaje, se muestra en b'[texto]'.
Código
  1. print(repuesta1) #output: b'Hola, te saludo desde el servidor!'
, reemplaza la linea a:
Código
  1. print(repuesta1.decode()) #output: Hola, te saludo desde el servidor!

Ejemplo de conexion socket

Server:
Código
  1. #!/usr/bin/python3
  2. import socket, sys
  3. mi_socket = socket.socket()
  4. mi_socket.bind(('',8000 ))
  5. mi_socket.listen(5)  
  6.  
  7. while True:
  8.  try:
  9.   conexion, addr = mi_socket.accept()
  10.   print ("Nueva conexion establecida!")
  11.   print(addr)
  12.   while True:
  13.      respuesta1 = conexion.recv(1024)
  14.      if respuesta1.decode() == "close":
  15.        print("closing server....")
  16.        mi_socket.close()
  17.        sys.exit()
  18.      else:
  19.        print(respuesta1.decode())
  20.  except KeyboardInterrupt: # presiona Ctrl+C
  21.    print("\nclosing server....")
  22.    break
  23. mi_socket.close()
  24. sys.exit()
  25.  

client:
Código
  1. #!/usr/bin/python3
  2. import socket
  3. mi_socket = socket.socket()
  4. mi_socket.connect (('127.0.0.1', 8000))
  5. MensajeCliente = "Hola, te saludo desde el cliente!"
  6. mi_socket.send(MensajeCliente.encode())
  7. while True:
  8. prompt = input("> ")
  9. if prompt == "close":
  10. print("closing client...")
  11. mi_socket.send(b"close")
  12. break
  13. elif prompt != "":
  14. mi_socket.send(prompt.encode())
  15. mi_socket.close()
  16.  




Esta conexion, te permite enviar mensajes, y en el lado del servidor los imprime, además si le envias la palabra "close", el servidor al recibir cuya palabra, envia al cliente GoodBye, y cierra el server. Y cuando el cliente recibe el GoodBye este se cierra. Además si hacer Ctrl+C en el script del servidor, este se cierra.
92  Programación / Scripting / Como muestro los servicios que estan corriendo en el sistema (Win/Lin)? | Python en: 18 Agosto 2020, 20:40 pm
Buenas, estoy haciendo un script python que será un servicio ejecutandose en segundo plano y necesito mostrar los servicios del sistema. Si hay una funcion o dependencia en python que permita mostrar los servicios mejor, ya que el servicio se ejecutaria, tanto en sistemas Linux como Windows.

Eso se puede hacer con Python?
93  Programación / Desarrollo Web / Re: Error Xampp "Objeto no localizado" en: 18 Agosto 2020, 13:17 pm
Citar
Estoy intentando hacer una copia de mi web en xampp para poder trabajar con ella en local.
Tienes una web en un hosting y lo quieres pasar a tu servidor xampp local? Una vez que tengas exportado todos los archivos de tu hosting a tu local. Tienes que cambiar todas las urls que tengas a urls relativas. Te explico

Por ejemplo tu estas en la página contacto de tu web miweb.com
Código
  1.   <!-- enlaces absolutas -->
  2.   <a href="miweb.com/home/">HOme</a>
  3.  
Si tu la exportas a local esto no te funcionará o te llevará a una web externa. Lo que tienes que hacer es reemplazarla a:
Código
  1.   <!-- enlaces absolutas -->
  2.   <a href="/home/">HOme</a>
  3.  
Así funcionará tanto si lo pones en un hosting como en local.

Espero que te haya ayudado :)
94  Sistemas Operativos / GNU/Linux / Re: Quiero iniciarme en Ubuntu en: 17 Agosto 2020, 10:46 am
Si es un PC de hace 10 años.... el hardware será antiguo. Por la cual te recomiendo que instales una distro ligera. Ubuntu consume muchos recursos, incluso Ubuntu 18.04 consume más que Windows 10.

Te recomiendo distro como Lubuntu Xubuntu.... que estan hechas para ordenadores más antiguos.
https://www.adslzone.net/reportajes/software/mejores-distros-linux-pc-antiguo/
95  Programación / Scripting / Re: Ayuda python en: 17 Agosto 2020, 10:42 am
Te corrijo el error. No cerraste las comillas.
Código
  1. print("ingrese un número: ")
  2. input("\n Número: ")
  3.  
96  Programación / Desarrollo Web / Re: [Pregunta]: IP de público conocimiento ¿Problema? en: 16 Agosto 2020, 14:01 pm
Buenas noches,

¿Está mal si dejo que todos puedan ver la dirección IP Pública de un usuario? ¿Existe algún problema?

No es aconsejable. Ya que si todos los usuarios libremente o no, pueden ver las IP publicas de los otros, es un riesgo para ese usuario, ya que estará MÁS expuesto a que algún malintencionado pueda hacer algo malo con esa IP, ataque de DDOS, .... Hazte esta pregunta.

Tu darías la dirección de tu domilicio a la gente desconocida por la calle? O que un tercero (bancos, imobilarias,etc) den las direcciones de sus clientes a otros clientes?

...A que no... Pues esto es lo mismo.


P.D: Si estas pensando....  "Ok... No lo mostraré pero programaré que los usuarios cuando se registren en el sistema pueda ver su ip publica". Tampoco lo hags es una vulnerabilidad... Ya que no significa que porque el usuario se haya registrado será el propietario. Puede ser alguien malintencionado...
97  Programación / Desarrollo Web / Re: [Pregunta]: Obtener espacio utilizado en: 16 Agosto 2020, 13:53 pm
¿Será que me pueda servir estas dos funciones de PHP para hacer algo como lo que quiero o similar?

disk_total_space
disk_free_space

Buenas, te explico... Puedes usar dos funciones para calcular el tamaño de un archivo con PHP (el archivo debe de estar almacenado en tu servidor)

La funcion $_FILES te permite obtener el tamaño de un archivo que el cliente ha subido con el <input type="file"> mediante petición POST
Código:
$_FILES['nombre_del_archivo']['size'];

Esta funcion te muestra el tamaño de un archivo especifico en bytes
Código:
filesize($ruta_del_archivo);

El tema de tamaño disponible, es poner una cuota de almacenamiento a cada usuario

disk_total_space && disk_free_space

Te pongo este ejemplo.

Tenemos una carpeta con 10 megas de espacio libre y hay 4 archivos con 1.5 megas cada uno.

Código:
disk_total_space
https://www.php.net/manual/en/function.disk-total-space

Pues disk_total_space te mostrará el espacio total que ocupa los 4 archivos en esa carpeta, la salida es un numero flotante (bytes)

Código:
disk_free_space
https://www.php.net/manual/en/function.disk-free-space

Pues disk_free_space te mostrará el espacio libre que queda en esa carpeta, la salida es un numero flotante (bytes). Es decir, la resta de la quota de la carpeta menos el espacio total que ocupa los archivos y el resultado es el espcio libre que queda.
98  Programación / Desarrollo Web / Re: [Pregunta]: ¿Este código es eficiente para obtener la IP Pública? en: 16 Agosto 2020, 13:33 pm
Yo el código lo veo bien... Lo he probado en http://www.writephponline.com/ y me imprime mi ip publica (cliente).
 Cuando dices:
Citar
para obtener la IP Pública

A que te refieres? A la IP publica del cliente que hace la peticion o del servidor?

Citar
EDIT: me sale ::1
y en la otra pc me sale 192.168.1.102 pero no me sale la dirección pública que me da en la pagina de "cualesmiip"...

Te sale ip privadas porque estas comprobandolo en la misma red, compruebalo desde la WAN, por ejemplo en http://www.writephponline.com/ ejecuta el codigo. Te tendría que salir la ip publica de tu router.
99  Programación / Scripting / Re: Necesito ayuda para usar script en dados habbo en: 15 Agosto 2020, 13:38 pm
Buenas, lo que quieres hacer, no se si la HabboAPI te lo permite. Pero se que Habbo tiene una API que te permite extraer datos de la aplicacion. Así como extraer perfiles, imagenes, etc.

Citar
Una API o Application Programming Interface, es un conjunto de procedimientos y funciones creados para permitir el acceso al backend de aplicaciones de terceros con el fin de reutilizar servicios ya creados.

Una API puede servir para comunicarse con una base de datos, sistema operativo o protocolo de comunicaciones.

Documentación Oficilal (ingles): https://habboapi.net/

Citar
existe algún programa que pueda entregar números a elección para dados de habbo.es

No se si actualmente existe un programa, si no existe lo mas seguro es que se pueda hacer uno, creado con JS/JSON o PHP.

Citar
entregar números a elección para dados de habbo.es

Personalmente no te puedo ayudar en esto... Tendrías que mirarlo... Segun ví esta API te permite sacar insignas (badges),  muebles (furnitures) y ropa (clothing) y haboos (personajes/perfiles) de habbo.es. Tendrías que mirar en que categoría esta los dados en haboo...

Espero que te sea de ayuda... Suerte.  ;D
100  Programación / Scripting / Re: [RESULTO] recv() settimeout, como guardarlo en una variable | Python3 sockets en: 14 Agosto 2020, 16:39 pm
RESULTADO

servidor

Código
  1. #!/usr/bin/python3
  2. # Server
  3. import socket, threading, os, sys, time
  4.  
  5. # globals variables
  6. class Globals:
  7. PORT, NUMBER_CONNECTIONS = 2048, 3 #constants
  8. number_client = 0 # count clients number
  9. list_clients=[]
  10.  
  11. # select user's sublist and your index, for later use it
  12. class Select_user:
  13. def __init__(self, idle, port):
  14. for client in Globals.list_clients:
  15. index = Globals.list_clients.index(client)
  16. name_user = Globals.list_clients[index][0]
  17. port_user = Globals.list_clients[index][1][1]
  18. if name_user == idle and port_user == port:
  19. self.index_user = index
  20. self.user = Globals.list_clients[self.index_user]
  21.  
  22. def remove_client(self):
  23. del Globals.list_clients[self.index_user]
  24.  
  25. # If the third element of list clients is False, it means that the user is not checked
  26. def check(self, conn):
  27. if Globals.list_clients[self.index_user][2] == False:
  28. conn.send(b"OK")
  29. Globals.list_clients[self.index_user][2] = True
  30.  
  31. ### CONNECTIONS CLIENTS PARALLEL ###
  32.  
  33. def client(connection, address, idle):
  34. ADDRESS_CLIENT, PORT_CLIENT = address[0], address[1]
  35.  
  36. user = Select_user(idle, PORT_CLIENT)
  37. user.check(connection)
  38.  
  39. print("client "+str(idle)+" ["+str(ADDRESS_CLIENT)+"] connected by "+str(PORT_CLIENT))
  40. while True:
  41. data = connection.recv(1024)
  42.  
  43. if data.decode() == "exit" or data.decode() == "close":
  44. connection.sendall(b"GoodBye")
  45. print("Client "+str(idle)+" ["+str(ADDRESS_CLIENT)+":"+str(PORT_CLIENT)+"] left")
  46. Globals.number_client-=1 # subtract client at count
  47.  
  48. # delete user of list clients
  49. user = Select_user(idle, PORT_CLIENT)
  50. user.remove_client()
  51. break
  52. elif data.decode() == "KeyboardInterrupt":
  53. print("[\033[0;31m*\033[0m] Connection interrupted with Client "+str(idle)+" ["+str(ADDRESS_CLIENT)+":"+str(PORT_CLIENT)+"]")
  54. Globals.number_client-=1 # subtract client at count
  55.  
  56. # delete user of list clients
  57. user = Select_user(idle, PORT_CLIENT)
  58. user.remove_client()
  59. break
  60. else:
  61. connection.sendall(data)
  62.  
  63. #close the connection with client
  64. connection.close()
  65.  
  66. ### MAIN ###
  67. try:
  68. sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  69. sock.bind(("",Globals.PORT))
  70. sock.listen(Globals.NUMBER_CONNECTIONS)
  71. print("[\033[0;34m*\033[0m] Listening port "+str(Globals.PORT)+"....")
  72. while True:
  73. conn, addr = sock.accept()
  74. # if he is fourth client or higher, not connect it
  75. if not Globals.number_client+1 > Globals.NUMBER_CONNECTIONS:
  76. Globals.number_client+=1 # add client at count
  77. idle="SockServices"+str(Globals.number_client)
  78. Globals.list_clients.append([idle,addr,False]) # add client to list clients
  79. socket_client = threading.Thread(target=client,name=idle,args=(conn, addr, idle));
  80. socket_client.start()
  81. else:
  82. conn.sendall(b"TooManyClients")
  83.  
  84. except KeyboardInterrupt:
  85. # close the server
  86. print("\n[\033[1;34m*\033[0m] Closing server....")
  87. sock.close()
  88. os.system("fuser -k -n tcp %s 2>&1" % Globals.PORT)
  89.  

cliente

Código
  1. #!/usr/bin/python3
  2. #client
  3. import socket, time, os, sys, threading
  4.  
  5. # CONSTANTS
  6. class Globals:
  7. ADDRESS, PORT, CHECK = "127.0.0.1", 2048, None
  8.  
  9. def checking(sock):
  10. while True:
  11. check = sock.recv(1024)
  12. if check.decode() == "TooManyClients":
  13. Globals.CHECK = False
  14. elif check.decode() == "OK":
  15. Globals.CHECK = True
  16. break
  17.  
  18. sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  19. sock.connect((Globals.ADDRESS, Globals.PORT))
  20.  
  21. while True:
  22. try:
  23. # Before, we check if the server allow us connect
  24. check = threading.Thread(target=checking, name="check_connection", args=(sock, ))
  25. check.start()
  26. sys.stdout.write("[\033[0;34m*\033[0m] Checking....")
  27. """After of run the thread, the program wait 3 seconds for receive the server's response
  28. and continue"""
  29. time.sleep(3)
  30.  
  31. if Globals.CHECK == False:
  32. print("[\033[0;31m*\033[0m] Too many clients connected")
  33. sock.close()
  34. sys.exit()
  35. else:
  36. print("[\033[0;32m*\033[0m] Connection established")
  37. pass
  38. while True:
  39.  
  40. #prompt terminal
  41. prompt = input("> ")
  42.  
  43. #Send prompt's data to server
  44. if prompt != "":
  45. sock.sendall(prompt.encode())
  46. else:
  47. continue
  48.  
  49. #receive server's data
  50. data = sock.recv(1024)
  51.  
  52. if data.decode() == "GoodBye":
  53. print("[\033[0;34m*\033[0m] Closing connection....")
  54. break
  55. else:
  56. print(data.decode())
  57. break
  58. except KeyboardInterrupt:
  59. sock.sendall(b"KeyboardInterrupt")
  60. print("\n[\033[0;31m*\033[0m] Connection interrupted, closing connection....")
  61. break
  62. sock.close()
  63.  
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 29
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines