python学习第一天,先熟悉基本的语言操作再开始咯
端口扫描
通过Python的网络连接来开发一个基础的端口扫描器,我们的设计思路是使用socket一遍又一遍的去连接ip与端口的组合的新值,为了方面我们能够快速的完成它,首先需要了解一下的概念,for循环:
>>>
for port in range(1000,1024):
… print "[+] The port is: "+str(port)
…
[+] The port is: 1000
[+] The port is: 1001
[+] The port is: 1002
[+] The port is: 1003
[+] The port is: 1004
[+] The port is: 1005
[+] The port is: 1006
[+] The port is: 1007
[+] The port is: 1008
[+] The port is: 1009
[+] The port is: 1010
[+] The port is: 1011
[+] The port is: 1012
[+] The port is: 1013
[+] The port is: 1014
[+] The port is: 1015
[+] The port is: 1016
[+] The port is: 1017
[+] The port is: 1018
[+] The port is: 1019
[+] The port is: 1020
[+] The port is: 1021
[+] The port is: 1022
[+] The port is: 1023
python是相当严谨的,所以要注意一下他的缩进(我是用的一个tab键)然后建立一个socket连接。
先import这socket模块并且调用connect()函数去连接指定的IP地址与端口。它就会建立一个TCP连接(SYN/SYN-ACK/ACK)并且我们再通过send()函数给服务器发送一个真实的数据,然后使用recv()打印出响应的内容。对于不能打开的链接:
如图所示,使用"try/except"循环来处理错误:
当当!这样就可以了!
端口号,我们使用数组来存储,然后遍历这一个数组:
ports = [22, 445, 80, 443, 3389]
for port in ports:
… print port
…
22
445
80
443
3389
如果我们想一次性扫描多台主机,可以使用一个for循环嵌套。最外层的是主机的ip,然后里面的for循环是端口。
使用"dir(socket)"来了解更多,当然还有’help()’.
以上的方法都可以在博客上找到,按着步骤操作就好啦!一定一定要记住的就是要很注意缩进!很容易报错的哦!