Conversão de IP em representação numérica (e vice-versa) no MySQL

Para quem costuma utilizar os serviços de monitoramento online de IPs, tipo SNDS da Microsoft, ou SenderScore, é bom saber que muitas vezes, ao consultar um IP, a URL da página exibe uma info que você pode não reconhecer.

Por exemplo: https://postmaster.live.com/snds/dataIP.aspx?ip=3141348145

Veja que o parâmetro (a representação numérica) representa um IP. E como faz-se para saber que IP é este ?

No MySQL, faça:

SELECT inet_ntoa(3141348145);

Veja o resultado da query:

mysql> SELECT inet_ntoa(3141348145);
+———————–+
| inet_ntoa(3141348145) |
+———————–+
| 187.61.43.49          |
+———————–+
1 row in set (0.02 sec)

O IP é 187.61.43.49.

Para fazer o contrário, também é possível:

mysql> SELECT inet_aton(’187.61.43.49′);
+—————————+
| inet_aton(’187.61.43.49′) |
+—————————+
|                3141348145 |
+—————————+
1 row in set (0.01 sec)

Para o IP é necessário encapsulá-lo com aspas.

Caso precise consultar muitos IPs simultaneamente, você pode gerar as URLs, com o uso do CONCAT, ainda no MySQL.

Veja:

mysql> SELECT CONCAT(“http://url_a_ser_concatenada?”,mtaIPs_ip) FROM mtaPoolsIPs LIMIT 5;
+—————————————————+
| CONCAT(“http://url_a_ser_concatenada?”,mtaIPs_ip) |
+—————————————————+
| http://url_a_ser_concatenada?187.61.28.10         |
| http://url_a_ser_concatenada?187.61.28.100        |
| http://url_a_ser_concatenada?187.61.28.101        |
| http://url_a_ser_concatenada?187.61.28.102        |
| http://url_a_ser_concatenada?187.61.28.103        |
+—————————————————+
5 rows in set (0.01 sec)

De modos que sua tarefa diária de consulta de IPs se torna muito mais automatizada que fazer tudo à mão…

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.