Python 2.7.12+ (default, Sep 1 2016, 20:27:38)
[GCC 6.2.0 20160822] on linux2
Type "help", "copyright", "credits" or "license" for more information.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
import
optparse
from
socket
import
*
from
threading
import
*
screenLock
=
Semaphore(value
=
1
)
def
connScan(tgtHost, tgtPort):
try
:
connSkt
=
socket(AF_INET, SOCK_STREAM)
connSkt.connect((tgtHost, tgtPort))
connSkt.send(
'ViolentPython\r\n'
)
results
=
connSkt.recv(
100
)
screenLock.acquire()
print
'[+] %d/tcp open'
%
tgtPort
print
'[+] '
+
str
(results)
except
:
screenLock.acquire()
print
'[-] %d/tcp closed'
%
tgtPort
finally
:
screenLock.release()
connSkt.close()
def
portScan(tgtHost, tgtPorts):
try
:
tgtIP
=
gethostbyname(tgtHost)
except
:
print
"[-] Cannot resolve '%s': Unknown host"
%
tgtHost
return
try
:
tgtName
=
gethostbyaddr(tgtIP)
print
'\n[+] Scan Results for: '
+
tgtName[
0
]
except
:
print
'\n[+] Scan Results for: '
+
tgtIP
setdefaulttimeout(
1
)
for
tgtPort
in
tgtPorts:
t
=
Thread(target
=
connScan,args
=
(tgtHost,
int
(tgtPort)))
t.start()
def
main():
parser
=
optparse.OptionParser(
'usage %prog '
+
\
'-H <target host> -p <target port>'
)
parser.add_option(
'-H'
, dest
=
'tgtHost'
,
type
=
'string'
,\
help
=
'specify target host'
)
parser.add_option(
'-p'
, dest
=
'tgtPort'
,
type
=
'string'
,\
help
=
'specify target port[s] separated by comma'
)
(options, args)
=
parser.parse_args()
tgtHost
=
options.tgtHost
tgtPorts
=
str
(options.tgtPort).split(
','
)
if
(tgtHost
=
=
None
) | (tgtPorts[
0
]
=
=
None
):
print
parser.usage
exit(
0
)
portScan(tgtHost, tgtPorts)
if
__name__
=
=
'__main__'
:
main()
本文转自文东会博客51CTO博客,原文链接http://blog.51cto.com/hackerwang/1906747如需转载请自行联系原作者 谢文东666
|