windows - Søg efter filtrerede porte med python socket

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at skrive et port scanner script ved hjælp af python socket bibliotek i Windows 7 pc. Jeg var i stand til at tjekke for en port i fjernbetjening pc, om porten er åbnet eller lukket baseret på 'errono' fra socket.connect\_ex () metoden som vist under


sock = socket.socket(socket.AF\_INET,socket.SOCK\_STREAM)
r\_errno =sock.connect\_ex(('x.x.x.x',8080))
print(r\_errno)


hvis r\_errno er '0' => Porten er åben


hvis r\_errno er '10060' => port lukket.


hvordan man identificerer firewall har blokeret porten ('filtreret') ved hjælp af ovenstående metode.


Jeg blokerede adgang til en indgående port på fjernbetjening udenfor i Windows-firewall, men den ovennævnte metode returnerer stadig r\_errno '10060'.


Faktisk forventede jeg r\_errno som '10061' eller et andet nummer, som jeg kan diffentiere mellem 'lukket' port og 'filtreret' port.


'Errno' (Windows socket fejlkoder) kan findes nedenfor:


https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx[2]

Bedste reference