You are currently browsing Fabiano Pires’s articles.

(LANG=C; ifconfig eth0|grep "inet addr"|cut -f2 -d:|cut -f1 -d" ")

Para pegar o endereço de uma interface diferente basta colocar o nome dessa interface no lugar de eth0.

É interessante que o comando seja colocado entre parênteses, para não modificar o valor da variável de ambiente LANG da sua sessão de shell atual (que controla o idioma em que os aplicativos são exibidos).

Algumas vezes uma máquina está conectada à internet de forma indireta, através de um proxy ou mesmo um firewall com múltiplos links de internet. Os comandos seguintes permitem descobrir qual IP a máquina está utilizando na internet.

Utilizando o wget:

echo $(wget -qO- http://www.whatismyip.com/automation/n09230945.asp)

Utilizando o lynx (ou o links2):

lynx -dump http://www.whatismyip.com/automation/n09230945.asp

É possível passar o usuário e senha de um sistema PHP diretamente pela URL, no formato:

https://usuario:senha@www.exemplo.com

Porém, há algumas bibliotecas (como a libcurl) que não aceitam receber usuário e senha pelo endereço. É preciso separá-los.

Seguem duas funções que fazem essa separação, retornando os trechos distintos da URL, são elas:

  • extrair_User_Pass que retorna “usuario:senha”
  • extrair_URL que retorna “https://www.exemplo.com”
function extrair_User_Pass($URL)
{
    // Inverte a string, pega tudo entre o primeiro
    // '@' e as '//' e joga no Array "$arr1"
    preg_match("'@.*\b//'",strrev($URL),$arr1);

    // Converte a String em "$arr1[0]" em um array,
    // inverte sua ordem e armazena em "$arr1"
    $arr1 = array_reverse(str_split($arr1[0]));

    // Retira o '@' e as '//'
    array_shift($arr1);
    array_shift($arr1);
    array_pop($arr1);

    return implode($arr1);
}

function extrair_URL($URL)
{
    return preg_replace("/".extrair_User_Pass($URL)."@/","",$URL);
}
Add to Technorati Favorites

Assuntos