Desculpe, tinha entendido errado Kaique.
Bom para isso você vai precisar de alguma lib que implemente o protocolo SNMP. 
É um protocolo de gerenciamento de redes (uma das coisas que se pode fazer com ele é monitorar quando algum device se conecta a rede,  sai da rede e ficar ouvindo quando uma requisição chega a determinado device). 
A partir dele você consegue, localizar todos os devices na rede (precisará filtrar quais são as impressoras) e com ele também é possível monitorar requisições à determinado(s)  device(s) na rede (essa seria a forma de implementar o listener).  
Eu nunca precisei fazer algo desse tipo, mas dando uma googlada achei http://www.snmp4j.org.
Talvez valha a pena dar uma olhada nesse cara.
Espero ter ajudado!