python3 多进程实例

import socket
import multiprocessing
from multiprocessing import Manage, Queue

def scan_port(hostlist, linux_host_queue, no_linux_host_queue):
  c_sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  try:
    c_sk.connect((addr, 22))
    linux_host_queue.put(addr)
  except Exception as e
    no_linux_host_queue.put(addr)

if __name__ == '__main__':
  po = multiprocessing.Pool(30)
  m = Manager()
  linux_host_queue = m.Queue()
  no_linux_host_queue = m.Queue()

  linux_host_list = []
  no_linux_host_list = []

  for host in hostlist:
    po.apply_async(scan_port, (host, linux_host_queue, no_linux_host_queue,))

  po.close()
  po.join()

  while not linux_host_queue.empty():
    linux_host_list.append(linux_host_queue.get())

  while not no_linux_host_queue.empty():
    no_linux_host_list.append(linux_host_queue.get())


  print(linux_host_list)
  print(no_linux_host_list)

最近在做主机扫描的工作,对22端口做初步扫描

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值