前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透测试-编程-2

渗透测试-编程-2

作者头像
Baige
发布2022-03-22 15:15:33
2660
发布2022-03-22 15:15:33
举报
文章被收录于专栏:世荣的博客世荣的博客

Kali Linux系统预装了Python和Perl解释器,我是一直长期学习Python的,在这里分享一个Python程序.

我们要用这个程序连接某台主机的既定端口,以判断这个端口是否是处于开放状态,因此,按照思路一步一步来:

代码语言:javascript
复制
#!/usr/bin/python
ip = input("请输入IP地址: ")
raw_input函数用来从用户界面获取数据
port = input("请输入端口")
input()函数用来获取端口号,这里应该是整型变量

将这个程序命名后,使用chmod命令赋予脚本程序可执行权限,简单测试一下(其实没有必要),程序在启动会会提示用户输入端口号和端口号,我们来继续完善功能。 1.添加端口扫描功能

代码语言:javascript
复制
import socket  # socket函数显著简化了网络嵌套字的设定和操作

ip = input("请输入IP地址: ")
port = input("请输入端口: ")

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立TCP网络嵌套字

if s.connect_ex((ip, port)):
    print("Port", port, "is closed")
else:
    print("Port", port, "is open")

经过测试,不出意外的报错了,我们来看看这没水平的代码为何报错了:

问题出在input()上面,我们编写的大部分程序,都需要读取输入并对其进行处理,而基本的输入操作是从键盘键入数据。Python从键盘键入数据,大多使用其内置的input()函数。但是,不同于程序设计初学者常接触的C和C++,我们不需要在输入之时规定变量的类型。相反,我们可以非常便捷的使用a = input()对任何数据类型的变量a进行赋值,无论是int,float还是列表等等。但是这并不代表Python将程序员的判断数据类型工作完全省去了。 这时候突然想到一个解决方案,那就是Python2中的raw_input()函数,Python3中和input()合并了,但是相比于后者,raw_input()返回的是字符,如此以来只需简单的修改代码,就可以,我们在Python2的环境中运行即可。

代码语言:javascript
复制
ip = raw_input("请输入IP地址: ")

这里测试一下校园网(嘿嘿,我哪里有什么坏心思)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 12 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档