2015-10-18 4 views
0

J'essaie de créer un outil d'analyse de reconnaissance dans R. Il me faut exécuter l'outil système nmap installé sur la machine Windows 10. Je peux courir la commande nmap partir de l'invite de commande, mais je ne peux pas invoquer la même grâce à la fonction system() R.Impossible d'accéder à la commande nmap via la fonction system() dans R

La fonction que j'ai écrit et la sortie correspondante suivre

nmapper <- function(opt="-F", ip) 
{ 
    cmd = paste("nmap", opt, ip, sep=" ") 
    getter = system(cmd, intern = T) 
} 

sortie est la suivante:

> nmapper(ip="www.google.com") 

erreur dans le système (cmd, interne = T): 'nmap' not found

Maintenant, je ne sais pas si la même chose se passe sous linux et je devrais être prudent. Comme communauté d'habitude R me veut préciser les détails suivants, donc on y va

  • rstudio: 0.99.486
  • machine: Intel Core i5 (64 bits) avec des graphiques radeon
  • OS: Windows 10 (64 bits)
  • R: 3.2.2
+0

Votre version R et la version Rstudio sont bizarres. –

+0

'devtools :: session_info()' est votre ami. 'system2' est généralement préféré sur Windows sur' system'. – hrbrmstr

Répondre

1

test de Cant, mais vous voulez probablement appeler cmd.exe avec le drapeau /C de mettre fin.

system("cmd.exe /c nmap -F", intern=TRUE) 

Vous pouvez également utiliser shell qui a le drapeau "/ c" par défaut.

shell("nmap -F", "cmd.exe")