1428天 Edwiin

本人熟练掌握linux,windows的开关机,擅长nfs,samba,ftp,dhcp,bind,apache,mail等各项服务的安装与卸载,精通shell,mysql,iptables,selinux等单词的拼写,了解虚拟化,存储,集群等相关汉字的书写。

Python学习_只需6行代码写个端口扫描工具——黑客渗透入门

发布于 1个月前 / 29 次围观 / 0 条评论 / Python / Edwiin

      俗话说练武不练功,十年一场空。如果你学黑客渗透的话,不学编程,那么会被人一直称为脚本小子。这个第二课,我们直接引入python课程。不瞒大家说,python我也是初学,为了照顾流行趋势,我在这里直接用python代码而不是我熟悉的编程语言示例,所以也希望大家和我一起进步。

一、配置python环境

二、6行python代码都是什么?各是什么意思?

      六句代码写个扫描工具,小白也不头疼,so easy!网上的教程都啰嗦极了,我们不一样的黑客教程不去管他,你跟着我来就行,我一边写一边给你讲解,你就明白了。

第一句:

import socket

      意思是导入socket的包。Python有太多优秀的包了,包里边的代码都给你写好了,你只需要调用包就行了,并且像搭积木一样的搭建就可以完成编程,当然你要搭积木就要知道每块积木的大小、形装、颜色和放在哪。 积木的大小、颜色、形状都是积木的属性,放在哪是个动词就是积木的方法了。这就是编程里的对像的属性和方法的概念,积木在这里就是对象。

第二句:

s = socket.socket()

      用引入的包socket对象和它的方法socket()来建立一个连接对象,名字为s,你起个别的的名也行。python的方法一般都带小括号()号的。

第三句:

s.connect(('192.168.100.250', 22))#连接我的网站192.168.100.250,端口是22。

      注意我在上边一句加了个#的符号吗?在python里,#表示注释,意思是这句是做什么的,注释里的东西就不算代码了。大家写代码要注意写注释,否则时间一长,自己都不知写了些什么了。

第四句:

s.send("Primal Security ".encode())

      用s这个对象发送一些字符,发送方法是send()。send里的参数你随便发什么都行,我发送的是Primal Security几个装B的英文 , 在python里表示换行。另外,在python3.0以上版本,发送的字符要用encode()方法来编码一下。

第五句:

banner = s.recv(1024)

      发送之后自然要接收返回值,值的名字我起了个banner名字。你接收的值一般要写成1024字节的倍数,你写2048也行。

第六句:

print(banner)

      在屏幕上打印输出一下看看,回显是什么。

三、我们来运行一下看看,代码成功了没有?

1、我们上边写的6句代码放在一起就是如下格式,用记事本或PyCharm把它保存成为port.py

import socket
s = socket.socket()
s.connect(('192.168.100.250', 22))
s.send("Primal Security ".encode())
banner = s.recv(1024)
print(banner)

2、我们运行一下python port.py:

D:\>python port.py
b'SSH-2.0-OpenSSH_6.6.1\r\n'

D:\>

      看到没有?有结果了,证明我的网站192.168.100.250开放了22端口,这个端口是为SSH开的,SSH的版本号为6.6。

总结:

      如果你对python有了兴趣,那你就努力去学习吧,我这里毕竟是黑客入门教程,不是编程课堂。你学不会python编程也没事的,但有一点是你必须要掌握的,就是如何安装配置Python并且能在本机运行成功我们写的这个port.py脚本