Ligando máquina pela rede usando Python
Publicado por Perfil removido (última atualização em 01/03/2012)
[ Hits: 9.531 ]
Tive a necessidade de ligar algumas máquinas via rede, e esse script em Python caiu como uma luva. Lembrando que a BIOS tem que ter suporte Wake-on-LAN (Wol) e estar ativo.
1. Baixe ou crie o script no local desejado. Eu padronizei o "/usr/local/sbin" para os meus scripts.
2. Dê permissão de execução.
3. Execute o script com os macaddresses das máquinas que deseja acordar remotamente.
#!/usr/bin/env python # ligapcrede.py import socket import struct def wake_on_lan(macaddress): """ Switches on remote computers using WOL. """ # Check macaddress format and try to compensate. if len(macaddress) == 12: pass elif len(macaddress) == 12 + 5: sep = macaddress[2] macaddress = macaddress.replace(sep, '') else: raise ValueError('Formato de endereco MAC incorreto ') # Pad the synchronization stream. data = ''.join(['FFFFFFFFFFFF', macaddress * 20]) send_data = '' # Split up the hex values and pack. for i in range(0, len(data), 2): send_data = ''.join([send_data, struct.pack('B', int(data[i: i + 2], 16))]) # Broadcast it to the LAN. sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.sendto(send_data, ('<broadcast>', 7)) if __name__ == '__main__': # Use macaddresses da maquina a ser ligada com quaisquer separadores. wake_on_lan('0F:0F:DF:0F:BF:EF') wake_on_lan('0F-0F-DF-0F-BF-EF') # Ou sem quaisquer separadores. wake_on_lan('0F0FDF0FBFEF')
HCoin - Preço do Dólar, Bitcoin e Euro em Python
Aplicação gráfica para Wake-on-LAN com Python 3 + GUI Tk/Tcl
verifySite - um verificador de sites
Shell reverso em Python - cliente e servidor
auth_ig.py: Script para autenticação do IG
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta