[linux-neuchatel] [PHP] Socket SOCK_RAW bloqué sous Linux ?

Jean-Frederic jfclere at gmail.com
Sat Mar 3 18:48:34 CET 2007


On Sat, 2007-03-03 at 18:01 +0100, Christian Wagner wrote:
> Donc si je comprends bien y a aucunes solutions pour que je puisse réaliser
> cela avec un simple utilisateur tout en réalisant quelque chose de tout
> intégré dans mon script PHP ?

Si facile:
+++
<?php
  // $service_port = getservbyname('ssh', 'tcp');
  // $address = gethostbyname('jfcpc');
  $service_port = getservbyname('echo', 'tcp');
  $address = gethostbyname('localhost');
  $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  $result = socket_connect($socket, $address, $service_port);
  if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " .
socket_strerror(socket_last_error($socket)) . "\n";
  } else {
    echo "OK.\n";
}
?>
+++
Il te reste a trouver un service qui devrait toujours fonctionner sur la
machine que tu veux tester. (ssh, http etc)

A+

Jean-Frederic

> 
> -----Message d'origine-----
> De : linux-neuchatel-bounces at lists.alphanet.ch
> [mailto:linux-neuchatel-bounces at lists.alphanet.ch] De la part de
> Jean-frederic Clere
> Envoyé : samedi, 3. mars 2007 10:24
> À : Activités Linux à Neuchâtel et environs
> Objet : Re: [linux-neuchatel] [PHP] Socket SOCK_RAW bloqué sous Linux ?
> 
> Marc SCHAEFER wrote:
> 
> >On Fri, Mar 02, 2007 at 06:45:39PM +0100, Christian Wagner wrote:
> >  
> >
> >>Jaimerais réaliser quelques statistiques à distance via un script PHP et
> >>naimerait pas faire passer mes instructions par une commande system pour
> >>faire ping. Hors pour réaliser cela je dois passer par la création dun
> >>    
> >>
> >
> >C'est pourtant la solution la plus simple,
> >
> 
> Se connecter a un service comme echo (7/tcp par example) ou ssh (22/tcp) 
> me parait la bonne idee.
> 
> J'ai par example un projet qui utilise php dans une servlet et un 
> system() ferait un fork()+exec() ce qui serait un desastre vu les Gbytes 
> utilises par la JVM.
> 
> A+
> 
> Jean-Frederic
> 
> > car:
> >
> >schaefer at reliant:~$ ls -l `which ping`
> >-rwsr-xr-x 1 root root 30724 Nov 11  2005 /bin/ping
> >
> >  
> >
> >>socket avec un SOCK_RAW. 
> >>    
> >>
> >
> >Sous UNIX, ce genre de chose est réservé à l'administrateur.  Le bit 's'
> >(SUID) de la commande ping lui donne les droits root pendant son
> >exécution.
> >
> >  
> >
> >>Ca fait plus d'une semaine que je recherche une solution mais toujours
> rien
> >>malheureusement.
> >>    
> >>
> >
> >  
> >
> >>Le user qui se charge de apache n'est pas root si jamais.
> >>    
> >>
> >
> >C'est mieux.
> >
> >_______________________________________________
> >linux-neuchatel mailing list
> >linux-neuchatel at lists.alphanet.ch
> >http://lists.alphanet.ch/mailman/listinfo/linux-neuchatel
> >
> >  
> >
> 
> _______________________________________________
> linux-neuchatel mailing list
> linux-neuchatel at lists.alphanet.ch
> http://lists.alphanet.ch/mailman/listinfo/linux-neuchatel
> 
> _______________________________________________
> linux-neuchatel mailing list
> linux-neuchatel at lists.alphanet.ch
> http://lists.alphanet.ch/mailman/listinfo/linux-neuchatel





More information about the linux-neuchatel mailing list