Example #1
0
int main(int argc, char** argv)
{
        char reverse[256];
        int ip_len = (int) strlen(argv[1]);
        reverseIP(argv[1], reverse);
        //printf("%s\n", reverse);
        return 0;
}
Example #2
0
int main( int argc , char *argv[])
{
	unsigned char hostname[100];
	char *reverse;
	int qtype=T_A;
	if(argc<2)
	{
		printf("USAGE:lookup <HOSTNAME/HOSTIP> <DNS> <QUERYTYPE>\n");
		printf("QUERY TYPES:\n");
		printf("IPV4 : 1\n");
		printf("NAMESERVER : 2\n");
		printf("CANONICAL NAME : 5\n");
		printf("START OF AUTHORITY : 6\n");
		printf("REVERSE QUERY : 12\n");
		printf("MESSAGE EXCHANGE : 15\n");
		return 0;
	}
	if(argc>2)
	{
		strcpy(dns_servers[0] ,  argv[2]);		/*USER SPECIFIED DNS*/
		strcpy(dns_servers[2] , "127.0.1.1");		/*DEFAULT SECONDARY DNS*/
		strcpy(dns_servers[1] , "172.31.1.130");	/*DEFAULT PRIMARY DNS*/
	}
	else if(argc==2)
	{
		strcpy(dns_servers[1] , "127.0.1.1");
		strcpy(dns_servers[0] , "172.31.1.130");
	}
	if(argc==4)
	{
		if(strcmp(argv[3],"15")==0)
			qtype=15;
		else if(strcmp(argv[3],"12")==0)
			qtype=12;
		else
			qtype=argv[3][0]-'0';
	}

	/*Check whether the second argument is for forward lookup or reverse lookup*/
	int flag=1;
	int i;
	for(i=0;i<strlen(argv[1]);i++)
	{
		if(argv[1][i] !='.' && !(argv[1][i]>='0' && argv[1][i]<='9'))
		{
			flag=0;
			break;
		}
	}
	if(flag==1)				/*reverse query*/
	{
		reverseIP(argv[1],reverse);
		ngethost(reverse,12);
	}
	else					/*forward query*/
		ngethost(argv[1] ,qtype);
	return 0;
}
Example #3
0
int findip(char *p,int &inc)
{
   int ip=0;
   int ipLen=0;
   inc=0;
   while(*p)
   {
#if  !defined(_WIN32) && !defined(__SYMBIAN32__) //if not arm
      if(*(unsigned int *)p==*(unsigned int *)"IN I" &&
         *(unsigned int *)(p+3)==*(unsigned int *)"IP4 ")
#else
         if(
            *(p+0)=='I' &&
            *(p+1)=='N' &&
            *(p+2)==' ' &&
            *(p+3)=='I' &&
            *(p+4)=='P' &&
            *(p+5)=='4' &&
            *(p+6)==' ' 
            )
#endif
         {
            inc+=7;
            p+=7;
            if(findCrLf(p,ipLen)==0)
            {
               ip=ipstr2long(ipLen-2,p);
               ip=reverseIP(ip);
               
               inc+=ipLen;
            }
            break;
            
         }
      inc++;
      p++;
      
   }
   
   return ip;
}
Example #4
0
void MainWindow::on_pushButton_clicked() //scan ip
{
    ui->textBrowser->clear();
    ui->textEdit_2->clear();
    ui->textEdit_3->clear();
    ui->label_8->clear();
    ui->tableWidget->setRowCount(0);
    ui->textBrowser->insertPlainText("The boot directory " +  QApplication::applicationDirPath() + "/nmap/");


    QString ip = ui->lineEdit->text();

    if(ip.isEmpty())
    {
        QMessageBox::critical(this,"Error", "Please enter a valid IP Address or Domain!");
    }else{

        if(!ip.contains("192.168")){
            reverseIP(ip);
            whois(ip);
        }


    QString nmapdir = QApplication::applicationDirPath() + "/nmap/";
    QString arguments = "nmap --open -sS -A -T4 -sV -O -vv -Pn -oX "+nmapdir+"scan.xml " + ip;

    scanprocess = new QProcess(this);
    connect(scanprocess, SIGNAL(readyReadStandardOutput()), this, SLOT(scanoutput()));
    connect(scanprocess, SIGNAL(finished(int , QProcess::ExitStatus )), this, SLOT(scanfinished()));

    //process->setReadChannel(QProcess::StandardOutput);
    scanprocess->start(nmapdir+arguments);

    }

}