鱼C论坛

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

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

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

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

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

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

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

  1. #socket 来连接服务器

  2. import socket  #导入socket

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

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

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

  19.         except OSError:
  20.             print('\n{} 不存在!!!!\n'.format(ip_addr))
  21.             break
  22.         except:
  23.             print('\n{} --> 端口 {}  ×\n'.format(ip_addr, port_name))
  24.             continue
  25.         
  26.         #之前讲过了
  27.         networkprot = socket.getservbyport(port_name, 'tcp')
  28.         print('\n{} --> 端口 {}  √ || {} 协议\n'.format(ip_addr,port_name, networkprot))

  29.         #关闭连接
  30.         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()

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

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

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

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

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

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

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

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

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

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

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

  17. 192.168.0.104 --> 端口 5358  ×

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

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

  20. 输入 192.168.0.104 的端口号(变更主机输入:‘-1’) >
复制代码

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-31 17:38:39 | 显示全部楼层
找出错误,并改正。使它跟正常的运行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 10:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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