马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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’) >
|