鱼C论坛

 找回密码
 立即注册
查看: 2567|回复: 1

[技术交流] 草鸟学Python Socket--004

[复制链接]
发表于 2016-1-30 21:55:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shzbg1341810374 于 2016-1-30 22:19 编辑

#编写一个简单地客户端,并连接一些端口是否开启
#socket 来连接服务器

import socket  #导入socket

while True:
    ip_addr = input('输入要查看的主机(网址或者 IP 地址) > ')

    while True:
        #用户输入要连接的IP地址 输入端口号
        try:            
            port_name = int(input('输入 {} 的端口号(变更主机输入:‘-1’) > '.format(ip_addr)))
            if port_name == -1:
                break
        except:
            print('输入有误')
            continue
        #创建基于 IPv4 TCP  为基础的socket
        my_server = socket.socket(socket.AF_INET ,socket.SOCK_STREAM)

        #建立连接
        try:
            my_server.connect((ip_addr, port_name))

        except OSError:
            print('\n{} 不存在!!!!\n'.format(ip_addr))
            break
        except:
            print('\n{} --> 端口 {}  ×\n'.format(ip_addr, port_name))
            continue
        
        #之前讲过了
        networkprot = socket.getservbyport(port_name, 'tcp')
        print('\n{} --> 端口 {}  √ || {} 协议\n'.format(ip_addr,port_name, networkprot))
 
        #关闭连接
        my_server.close()

1.创建 socket  --- > my_server = socket.socket(socket.AF_INET ,socket.SOCK_STREAM)      socket.AF_INET 说明是 IP4地址,socket.SOCK_STREAM 说明是TCP。

socket.SOCK_STREAM
创建 TCP socket
socket.SOCK_DGRAM
创建 UDP socket

socket.AF_UNIX
只能够用于单一的Unix系统进程间通信

socket.AF_INET
服务器之间网络通信

socket.AF_INET6
IPv6


2.建立连接  ---> my_server.connect((ip_addr, port_name))   

参数为 主机地址 和 端口号

3.关闭连接 ---> my_server.close()
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> 
==================== RESTART: F:\code\SOCKET\saomiao_1.py ====================
输入要查看的主机(网址或者 IP 地址) > 192.168.0.104
输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 135

192.168.0.104 --> 端口 135  √ || epmap 协议

输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 445

192.168.0.104 --> 端口 445  √ || microsoft-ds 协议

输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 80

192.168.0.104 --> 端口 80  √ || http 协议

输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 2869

192.168.0.104 --> 端口 2869  √ || icslap 协议

输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 5357

192.168.0.104 --> 端口 5357  √ || wsd 协议

输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 5358

192.168.0.104 --> 端口 5358  ×

输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 7514

192.168.0.104 --> 端口 7514  √ || mi-raysat_3dsmax2011_64 协议

输入 192.168.0.104 的端口号(变更主机输入:‘-1’) > 

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-31 17:38:39 | 显示全部楼层
找出错误,并改正。使它跟正常的运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 21:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表