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; }
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; }
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; }
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); } }