Cómo enlazar una dirección IP a telnetlib en Python
-
19-09-2019 - |
Pregunta
El código de abajo se une una dirección IP a urllib, urllib2, etc.
import socket
true_socket = socket.socket
def bound_socket(*a, **k):
sock = true_socket(*a, **k)
sock.bind((sourceIP, 0))
return sock
socket.socket = bound_socket
¿Es también capaz de unirse a una dirección IP a telnetlib?
Solución
telnetlib
al menos en las versiones recientes de Python utiliza socket.create_connection
(ver fuentes de telnetlib aquí ), sino que también deben ser capturado por su monkeypatch (fuentes aquí - verá que utiliza un identificador socket
desnuda, pero eso es exactamente en el módulo que está monkeypatching). Por supuesto monkeypatching es siempre extremadamente frágil (la optimización más pequeño en alguna versión futura, izando la búsqueda mundial de socket
en create_connection
, y estás frito ... ;-) así que tal vez querrá monkeypath create_connection
directamente como modestly- enfoque más fuerte.