近日使用nmap进行了一堆IP的扫描,但是namp的结果形式不是想要的[IP]:[PORT]格式,为方便下一步操作,进行了相关的数据提取。
使用PHP编写相关处理。
// An highlighted block
<?php
$file_path = "portresult.xml文件路径";
$file = fopen($file_path, "r");
global $ip;
while(! feof($file))
{
$line= fgets($file);//fgets()函数从文件指针中读取一行'
//echo $line;
preg_match('/address addr="(.*?)" addrtype="ipv4"/', $line,$ips);//匹配IP
preg_match('/<port protocol="tcp" portid="(.*?)"><state state="open".+<service name="(\S+)" /', $line,$port);//匹配端口
if ($ips) {
$ip = $ips;
}
if ($port) {
echo $ip[1].":".$port[1].":".$port[2];
echo '<br>';
}
}
fclose($file);
?>
结果如下: