Hangi soket üzerinde hangi işlemin dinlendiğini öğrenmek istersem, netstat / TCPview kullanabilirim ve hemen göreceğim. Ancak, dinlemeden bir adrese bağlanmak mümkündür. Bu yapılırsa, netstat / TCPview içinde görünmez, ancak soketi engeller.
Python örneği:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0',12345))
Bağlantı noktası artık bağlanmıştır ve ilk kod çalışırken ikinci bir örnekte aynı kodu yürütmeye çalışmak hataya neden olur. Ancak, o bağlantı noktasını kullanarak
s.listen(1)
bağlantı noktası netstat / TCPview içinde görünmüyor.
Soru şudur: Hangi bağlantı noktalarının bağlı olduğunu (ancak dinlemediğini) ve hangi işlemin onları bağladığını görmek mümkün müdür ?
Bu arka plan Bunun ne var bir vardı bağlı olamaz 1976 port hareketli aralığını ve bu neden bilmek istiyorum. Bu arada, deneme yanılma yoluyla Internet Bağlantı Paylaşımı'nın bu bağlantı noktalarını engellediğini belirledim, ancak yine de bu sorunun cevabını merak ediyorum.
Düzenleme: Popüler istek nedeniyle, İşte bu bağlantı noktalarını bulmak için kullanılan kod:
import time
import socket
for i in range(0,65536):
try:
print "Listening on port", i, '...',
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(('0.0.0.0', i))
serversocket.listen(5)
#time.sleep(0.1)
serversocket.close()
print "ok"
except:
print "FAIL"
(çıkışı grep'e borulamak ve yalnızca FAIL için filtrelemek isteyebilirsiniz)