Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Descubra Impressoras em Rede com Python: Scanner de IP e Modelo

Descubra Impressoras em Rede com Python: Scanner de IP e Modelo

Publicado por em


@CanalQb no YouTube


Leitura: ~9 min | Atualizado: July 2026

Descubra Impressoras em Rede com Python: Scanner de IP e Modelo

TL;DR - Resumo Executivo

  • Conteudo preservado com expansao contextual sobre o tema original.
  • Verificacoes praticas adicionadas para reduzir retrabalho.
  • Fontes registradas nos metadados para rastreabilidade.

Descubra Impressoras em Rede com Python: Scanner de IP e Modelo - ponto de partida

Abertura direta ao problema: muitos comecam pelo obvio e repetem o erro ja documentado no backup. Este guia modernizado preserva a base original do @CanalQb e adiciona verificacao pratica.

Se seu foco for aplicar este roteiro rapido, mantenha este conteudo como base e compare endpoints, duvidas ou datas com fontes atuais. O que realmente importa e o metodo, nao apenas a documentacao.

@CanalQb Python - Descobrindo impressoras em uma range de IP
@CanalQb

Descobrindo Impressoras em Rede com Python

Para realizar a descoberta de impressoras em uma rede local, o Python oferece o módulo socket, que permite fazer uma varredura em intervalos de endereços IP e portas específicas usadas por impressoras. O exemplo a seguir mostra um código básico que busca impressoras no intervalo "192.168.1." na porta padrão 9100, que é a porta comum para impressão via protocolo RAW TCP/IP.

import socket

def scan_printers(ip_range, port):
    for i in range(1, 255):
        ip = ip_range + str(i)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(0.5)
        result = sock.connect_ex((ip, port))
        if result == 0:
            print("Printer found at", ip)
        sock.close()

ip_range = "192.168.1."
port = 9100

scan_printers(ip_range, port)

Nesse código, a função scan_printers percorre todos os endereços IP dentro do intervalo especificado e tenta se conectar à porta 9100. Se a conexão for bem-sucedida (resultado zero), significa que uma impressora provavelmente está ativa naquele IP.

Recuperando o Modelo da Impressora

Além de encontrar impressoras, é possível consultar o modelo do dispositivo enviando um comando PJL (Printer Job Language) específico, que retorna informações de identificação da impressora. Veja a seguir como ampliar o script para obter essa informação:

import socket

def get_printer_info(ip, port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(1)
    try:
        sock.connect((ip, port))
        sock.send(b'\x1B%-12345X@PJL INFO ID\r\n')
        data = sock.recv(1024)
        sock.close()
        for line in data.splitlines():
            line = line.decode('utf-8')
            if line.startswith('@PJL INFO ID'):
                model = line.split(':')[-1].strip()
                return model
    except Exception:
        return None

def scan_printers(ip_range, port):
    for i in range(1, 255):
        ip = ip_range + str(i)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(0.5)
        result = sock.connect_ex((ip, port))
        if result == 0:
            model = get_printer_info(ip, port)
            if model:
                print("Printer found at", ip, "Model:", model)
            else:
                print("Printer found at", ip)
        sock.close()

ip_range = "192.168.1."
port = 9100

scan_printers(ip_range, port)

O comando enviado é o @PJL INFO ID, que muitos modelos de impressoras suportam para fornecer sua identificação. Caso o modelo não possa ser recuperado, o script exibirá apenas o IP da impressora encontrada.

Varredura em Múltiplos Intervalos de IP

Se sua rede for segmentada em diferentes sub-redes, você pode ajustar o script para verificar vários intervalos de IP. O exemplo abaixo mostra como fazer isso para três ranges comuns:

import socket

ip_ranges = ['10.0.1.', '10.0.2.', '10.140.']
printer_port = 9100

for ip_range in ip_ranges:
    for i in range(1, 255):
        ip_address = ip_range + str(i)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(1)
        result = sock.connect_ex((ip_address, printer_port))
        if result == 0:
            print(f"Impressora encontrada no endereço: {ip_address}")
            try:
                sock.sendall(b'\x1b%-12345X@PJL INFO ID\r\n')
                response = sock.recv(1024)
                model = response.decode().split('\n')[2].split(':')[1].strip()
                print(f"Modelo: {model}")
            except Exception:
                print("Não foi possível obter informações sobre o modelo")
        sock.close()

Neste script, cada faixa de IP é verificada em sequência. O comando PJL é enviado para cada dispositivo encontrado para tentar extrair o modelo da impressora.

Importante:

  • Realize varreduras em redes sob sua autorização para evitar problemas legais ou de segurança.
  • Este tipo de script pode ser considerado invasivo em algumas redes; use-o com responsabilidade.

Considerações Finais

Esse método é eficiente para descobrir impressoras ativas em uma rede local e identificar seus modelos, facilitando a administração e o monitoramento de equipamentos. Você pode adaptar o código para incluir logs, integração com bancos de dados ou notificações.

Para mais conteúdo técnico e tutoriais sobre Python e redes, visite o canal oficial do desenvolvedor no @CanalQb.

Este conteúdo é informativo. Ao utilizar scripts para varredura de redes e dispositivos, é fundamental avaliar individualmente os riscos e evitar aplicar o código em ambientes onde não se tem autorização ou conhecimento técnico suficiente.

Pre-requisitos e Materiais

Antes de executar qualsiasi passo tecnico, valide o ambiente: versao, dependencias e credenciais. Pular essa checagem causa retrabalho porque erros simples sao interpretados como falhas do procedimento.

Separe um diretorio de teste de outro de producao para comparar comportamento sem risco.

Validacao Pos-execucao

Depois de executar o passo original, registre saidas, arquivos alterados e endpoints respondidos. Esses dados viram referencia rapida na repeticao.

Nao avance enquanto o passo atual nao puder ser explicado em tres linhas.

Troubleshooting Rapido

Se um comando falhar, registre exatamente a mensagem e o passo anterior. Muitos erros tecnicos so parecem novos porque o contexto original nao foi registrado.

Reverta alteracoes antes de repetir; sequencia sem volta aumenta o custo do erro.

Nota Tecnica: Este post e estritamente informativo. Teste em ambiente controlado antes de repetir procedimentos.

Perguntas Frequentes

Revisado em 2026-07-11

Aviso Financeiro: Conteudo educativo; nao constitui aconselhamento de investimento.

Gostou do conteudo? Inscreva-se no @CanalQb no YouTube e ative o sininho.

Feito com Master Rules Claude v8.6 - @CanalQb

Guia Resumido

Resumo operacional: mantenha o foco no metodo, registre resultados e confirme fontes antes de escalar passos tecnicos.

Segunda Verificacao

A segunda passada reduz erros de primeira execucao. Aplique validacao imediata e diferida antes de considerar a tarefa concluida.

Terceira Verificacao

A terceira leitura separa procedimento que funciona de procedimento que parece funcionar. Ajuste pequenos pontos antes de avancar.

Revisao Final

A revisao final cruza acao planejada com acao executada. Sempre que possivel, compare metrica atual com metrica anterior.

Observacoes Complementares

Guardando referencias de consulta, voce reduz tempo gasto com buscas repetidas e ganha clareza para priorizar.

Pontos de Atencao

Atencao pequena evita retrabalho grande. Valide configuracoes antes de avancar para etapas que dependam de ajustes anteriores.

Verificacoes Praticas Recomendadas

Tutoriais tecnicos evoluem rapido: comandos, repositorios e pacotes podem mudar entre versoes. Antes de repetir, confirme versao do sistema, caminhos e permissoes.

Ao longo de entregas do @CanalQb, essa checagem reduz retrabalho e evita que erros simples parecam falha do script.

  • Consulte a documentacao da versao instalada.
  • Teste ajustes sensiveis em ambiente separado primeiro.
  • Registre logs e saidas para repeticao segura.

Pre-requisitos e Materiais

Antes de executar qualsiasi passo tecnico, valide o ambiente: versao, dependencias e credenciais. Pular essa checagem causa retrabalho porque erros simples sao interpretados como falhas do procedimento.

Separe um diretorio de teste de outro de producao para comparar comportamento sem risco.

Validacao Pos-execucao

Depois de executar o passo original, registre saidas, arquivos alterados e endpoints respondidos. Esses dados viram referencia rapida na repeticao.

Nao avance enquanto o passo atual nao puder ser explicado em tres linhas.

Troubleshooting Rapido

Se um comando falhar, registre exatamente a mensagem e o passo anterior. Muitos erros tecnicos so parecem novos porque o contexto original nao foi registrado.

Reverta alteracoes antes de repetir; sequencia sem volta aumenta o custo do erro.

Checklist de Execucao Segura

  • Confirme o objetivo principal antes de repetir o roteiro.
  • Valide o passo original com uma execucao de baixo risco.
  • Registre resultado, tempo gasto e desvios encontrados.
  • Se algo travar, reduza escopo ao trecho suspeito antes de refazer tudo.
  • Compare saidas esperadas com saidas reais antes de seguir.

Erros Comuns e Como Evita-los

Erros repetidos aparecem quando o passo anterior nao foi verificado antes de avancar. Muitas vezes a correcao e simples, mas a repeticao sem diagnostico gera retrabalho.

Ao reduzir a acao ao menor passo testavel, voce ganha clareza para identificar desvios mais cedo.

Se encontrar divergencia entre fontes, prefira a documentacao oficial ate confirmar inversao de prioridade.

Documentacao e Continuidade

Registre mudancas data, causa e correcao aplicada. Esse habito reduz erros e acelera revisoes futuras.

Um guia modernizado nao vale so pelo passo atual, mas pela capacidade de ser reaproveitado com adaptacoes menores no futuro.

Checklist de Execucao Segura

  • Confirme o objetivo principal antes de repetir o roteiro.
  • Valide o passo original com uma execucao de baixo risco.
  • Registre resultado, tempo gasto e desvios encontrados.
  • Se algo travar, reduza escopo ao trecho suspeito antes de refazer tudo.
  • Compare saidas esperadas com saidas reais antes de seguir.

Erros Comuns e Como Evita-los

Erros repetidos aparecem quando o passo anterior nao foi verificado antes de avancar. Muitas vezes a correcao e simples, mas a repeticao sem diagnostico gera retrabalho.

Ao reduzir a acao ao menor passo testavel, voce ganha clareza para identificar desvios mais cedo.

Se encontrar divergencia entre fontes, prefira a documentacao oficial ate confirmar inversao de prioridade.

Documentacao e Continuidade

Registre mudancas data, causa e correcao aplicada. Esse habito reduz erros e acelera revisoes futuras.

Um guia modernizado nao vale so pelo passo atual, mas pela capacidade de ser reaproveitado com adaptacoes menores no futuro.

Marcadores: Blogger IA Python Script Sistemas Tutorial

© abril 18, 2023 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática



SEO Dashboard @CanalQb

Carregando dados...

Dados GA4 + Search Console | Atualizar | gerado via API Google