HackTools————6.Python端口扫描器二

本文介绍了一款使用Python编写的简易端口扫描器。该工具通过Socket连接目标主机的指定端口来判断其是否开放,并能显示开放端口对应的服务类型。文中还提供了完整的源代码及运行示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开始看Python网络编程,写了一个简单的端口扫描器,原理很简单。就是用socket连接对应的端口,若能连接成功则端口开启,否则关闭。

对于其中的几个点做下说明:

1、gethostbyname()  获取远程设备的IP地址

2、sys.argv  获取命令行参数,其中argv[0]是程序的路径

程序源代码如下:

#-*- coding:utf-8 -*-  
#定义扫描的端口  
Port = [ 80,21,23,22,25,110,443,1080,3306,3389,1521,1433]  
#定义端口对应的服务  
Server = ['HTTP','FTP','TELNET','SSH','SMTP','POP3','HTTPS','SOCKS','MYSQL','Misrosoft RDP','Oracle','Sql Server']  
import socket   
import sys  
  
#获取目标站点的IP地址  
def get_remote_machine_info(Domain):  
    try:  
        return socket.gethostbyname(Domain)  
    except socket.error,e:  
        print '%s: %s'%(Domain,e)  
        return 0  
  
#进行扫描  
def scan(Domain):  
    IP = get_remote_machine_info(Domain)  
    if IP:  
        result = []  
        for port,server in zip(Port,Server):  
            temp = []  
            try:  
                s = socket.socket()  
                print "Attempting to connect to "+Domain+': '+str(port)  
                s.connect((Domain,port))  
                #print 'Port '+str(port)+' open:\n'  
                temp.append(port)  
                temp.append(server)  
                result.append(temp)  
                s.close()  
            except:pass  
        if result:  
            print '\n'+Domain+': --> '+IP  
            print '\nThe Open Port:'  
            for i in result:  
                print Domain+': %4d -->%s'%(i[0],i[1])  
          
def main():  
    print '''''\nX-man Port Scan 1.0 
playload:./Scan.py www.xxx.zzz'''  
    payload = sys.argv  
    print '\n'  
    scan(payload[1])  
  
if __name__=='__main__':  
    main()  
这个程序扫内网地址还挺快的,但是扫外网的有些端口比较慢,还有待优化!
<think>好的,用户想在Kali Linux上安装和配置DVCS工具。首先,我需要明确DVCS指的是分布式版本控制系统,常见的比如Git、Mercurial(Hg)、Bazaar等。Kali系统基于Debian,通常使用APT包管理器,所以安装这些工具应该通过APT进行。 接下来,我要考虑用户的具体需求。用户提到“dvcs相关的工具或服务”,可能包括客户端工具和服务端软件。比如,Git是常用的客户端工具,而像Gitolite或Gitea这样的服务端软件可能需要额外安装。 然后,安装步骤。对于Git,直接使用sudo apt install git即可,但可能需要确认是否已经预装,因为有些系统可能自带。Mercurial和Bazaar同样可以通过APT安装。配置部分,用户可能需要设置用户名和邮箱,特别是Git,这在使用时是必须的。 服务端方面,Gitolite是一个轻量级的Git服务器,安装过程涉及创建git用户,配置SSH密钥,然后克隆和设置Gitolite。这部分可能需要详细步骤,比如生成密钥对、复制公钥到服务器目录、初始化等。另外,Gitea也是一个选项,它需要更多的依赖,如数据库和Git本身,然后下载进制文件进行配置。 此外,用户可能需要一些辅助工具,比如git-dumper或GitTools,这些可能需要从GitHub克隆仓库并安装。比如git-dumper用于下载Git仓库,而GitTools中的extractor脚本可以帮助恢复.git目录。 在注意事项方面,Kali的更新和权限问题需要注意,比如使用sudo,以及定期更新源。防火墙配置如果涉及服务端工具,可能需要开放相应端口,比如HTTP的3000端口或SSH的22端口。 最后,生成相关问题需要考虑用户可能的后续需求,比如配置HTTPS、自动化部署、权限管理工具,或者DVCS的安全防护措施,比如防止信息泄漏的扫描工具,如Githack,这可能和用户之前的git泄漏扫描有关联,引用中的信息[^3]提到过Githack的使用,可以适当参考。</think>### Kali Linux安装配置DVCS工具指南 #### 一、DVCS工具分类说明 分布式版本控制系统(DVCS)主要包括$Git$、$Mercurial(hg)$、$Bazaar$三类工具。Kali Linux作为Debian派生系统,可通过APT包管理器直接安装这些工具[^4]。 #### 、具体安装步骤 1. **Git安装配置** ```bash sudo apt update && sudo apt install git -y git config --global user.name "YourName" git config --global user.email "your@email.com" ``` 2. **Mercurial安装** ```bash sudo apt install mercurial -y hg --version # 验证安装 ``` 3. **Bazaar安装** ```bash sudo apt install bzr -y bzr version # 验证安装 ``` 4. **服务端工具扩展** - **Gitolite(轻量级Git服务器)** ```bash sudo adduser --system --shell /bin/bash --group git sudo su - git ssh-keygen -t rsa # 生成密钥 git clone https://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install -to $HOME/bin $HOME/bin/gitolite setup -pk your-key.pub ``` - **Gitea(自托管Git服务)** ```bash sudo apt install sqlite3 git wget -O gitea https://dl.gitea.io/gitea/1.15.0/gitea-1.15.0-linux-amd64 chmod +x gitea ./gitea web # 启动服务 ``` #### 三、辅助工具安装 1. **git-dumper(仓库下载工具)** ```bash git clone https://github.com/arthaud/git-dumper.git cd git-dumper && pip install -r requirements.txt ``` 2. **GitTools(元数据恢复工具)** ```bash git clone https://github.com/internetwache/GitTools cd GitTools/Extractor && chmod +x gitdumper.sh ``` #### 四、配置验证示例 ```python # 验证Git工作流示例 import os os.system("git init test_repo && cd test_repo && echo 'Kali DVCS' > README.md") os.system("git add . && git commit -m '初始提交'") ``` #### 五、注意事项 1. 防火墙配置建议开放端口: - HTTP服务:$3000/tcp$(Gitea默认端口) - SSH协议:$22/tcp$ 2. 定期更新工具: $$ apt list --upgradable | grep -E 'git|mercurial|bzr' $$
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值