?? wetctl.c
字號(hào):
}; if(pList->sBSSIDList[ii].bWEPOn == TRUE) { printf("yes "); } else { printf("no "); }; printf("%04d ", (int)pList->sBSSIDList[ii].uRSSI); memcpy(buf, pList->sBSSIDList[ii].abySSID, SSID_MAXLEN +1); printf("%s\n", buf); }}/*+ * * Description: * * * Called when the user has requested the 'nodes' command at the * command line. * * Parameters: * In: * skfd, argc, argv * Out: * none * * Return Value: '0' if success *-*/int s_cmdGetNodeList(int skfd, int argc, char **argv){ int result; SCmdRequest sReq; SNodeList sList; PSNodeList pList; result = 0; memset(&sList, 0, sizeof(SNodeList)); strcpy((char *)sReq.name, argv[1]); sReq.wResult = 0; sReq.data = &sList; sReq.wCmdCode = WLAN_CMD_GET_NODE_CNT; result = ioctl( skfd, IOCTL_CMD_SET, &sReq); if (result || sReq.wResult) { printf( "%s: failed in get node list command.\n", AppName); result = 1; } else { if (sList.uItem == 0) return result; pList = malloc( sizeof(SNodeList) + (sList.uItem * sizeof(SNodeItem))); pList->uItem = sList.uItem; sReq.wResult = 0; sReq.data = pList; sReq.wCmdCode = WLAN_CMD_GET_NODE_LIST; result = ioctl( skfd, IOCTL_CMD_SET, &sReq); if (result || sReq.wResult) { printf( "%s: failed get node list command\n", AppName); result = 1; } else { vShowNodeList(pList); } free(pList); } return result;}/*+ * * Description: * * * Show stations list * * Parameters: * In: * pList * Out: * none * * Return Value: none *-*/VOID vShowNodeList(PSNodeList pList){ int ii; BYTE buf[80]; printf("Associated Nodes Count = %d\n", (int)(pList->uItem -1)); printf("AID MAC RATE AGE QUE FG PW RATO KEY LEN\n"); for (ii = 0; ii < pList->uItem; ii++) { printf("%02d ", pList->sNodeList[ii].wAID); vAddrToStr(pList->sNodeList[ii].abyMACAddr, buf); printf("%s ", buf); printf("%02d ", pList->sNodeList[ii].wTxDataRate); printf("%04d ", pList->sNodeList[ii].wInActiveCount); printf("%02d ", pList->sNodeList[ii].wEnQueueCnt); printf("%02x ", pList->sNodeList[ii].wFlags); if(pList->sNodeList[ii].bPWBitOn == TRUE) { printf("yes "); } else { printf("no "); }; printf("%04d ", pList->sNodeList[ii].wFailureRatio); printf("%02d ", pList->sNodeList[ii].byKeyIndex); printf("%04d ", pList->sNodeList[ii].wWepKeyLength); printf("\n"); vWEPToStr(pList->sNodeList[ii].abyWepKey, buf); printf("KEY = %s \n", buf); }}/*+ * * Description: * * Called when the user set the 'link' command at the * command line to get link status * * Parameters: * In: * skfd, argc, argv * Out: * none * * Return Value: '0' if success *-*/int s_cmdGetLink(int skfd, int argc, char **argv){ int result; SCmdRequest sReq; SCmdLinkStatus sLink; BYTE buf[SSID_MAXLEN + 1]; result = 0; strcpy((char *)sReq.name, argv[1]); sReq.wResult = 0; sReq.data = &sLink; sReq.wCmdCode = WLAN_CMD_GET_LINK; result = ioctl(skfd, IOCTL_CMD_SET, &sReq); if (sReq.wResult ) { printf( "%s: failed in link command.\n", AppName); } else { if (sLink.bLink == TRUE) { memcpy(buf, sLink.abySSID, SSID_MAXLEN + 1); if (sLink.wBSSType == ADHOC) { if (sLink.byState == ADHOC_STARTED) printf("Adhoc Starting, SSID = '%s'\n", buf); else if (sLink.byState == ADHOC_JOINTED) printf("Adhoc Link with, SSID = '%s'\n", buf); } else { if (sLink.wBSSType == INFRA) printf("Link with AP, SSID = '%s'\n", buf); } printf("Channel = %02d", (int)sLink.uChannel); vAddrToStr(sLink.abyBSSID, buf); printf(", Data Rate = "); switch(sLink.uLinkRate) { case RATE_1M: printf("1Mbps"); break; case RATE_2M: printf("2Mbps"); break; case RATE_5M: printf("5.5Mbps"); break; case RATE_11M: printf("11Mbps"); break; case RATE_6M: printf("6Mbps"); break; case RATE_9M: printf("9Mbps"); break; case RATE_12M: printf("12Mbps"); break; case RATE_18M: printf("18Mbps"); break; case RATE_24M: printf("24Mbps"); break; case RATE_36M: printf("36Mbps"); break; case RATE_48M: printf("48Mbps"); break; case RATE_54M: printf("54Mbps"); break; default: printf("54Mbps"); } printf("\n"); printf("BSSID = %s\n", buf); } else { printf("Link fail, disconnected !\n"); } } return result;}/*+ * * Description: * * Called when the user has requested the 'mib' command at the * command line. * * Parameters: * In: * skfd, argc, argv * Out: * none * * Return Value: '0' if success *-*/int s_cmdGetMIB(int skfd, int argc, char **argv){ int result; SCmdRequest sReq; SDot11MIBCount sMIB; result = 0; strcpy((char *)sReq.name, argv[1]); sReq.wResult = 0; sReq.data = &sMIB; sReq.wCmdCode = WLAN_CMD_GET_MIB; result = ioctl( skfd, IOCTL_CMD_SET, &sReq); if (result || sReq.wResult) { printf( "%s: failed in get mib command.\n", AppName); result = 1; } else { printf("TxFragmentCount =%12d ", (INT)sMIB.TransmittedFragmentCount); printf("MulticastTxCount=%12d\n", (INT)sMIB.MulticastTransmittedFrameCount); printf("FailedCount =%12d ", (INT)sMIB.FailedCount); printf("RetryCount =%12d\n", (INT)sMIB.RetryCount); printf("MultipleRetry =%12d ", (INT)sMIB.MultipleRetryCount); printf("RTSSuccessCount =%12d\n", (INT)sMIB.RTSSuccessCount); printf("RTSFailureCount =%12d ", (INT)sMIB.RTSFailureCount); printf("ACKFailureCount =%12d\n", (INT)sMIB.ACKFailureCount); printf("DuplicateCount =%12d ", (INT)sMIB.FrameDuplicateCount); printf("RxFragmentCount =%12d\n", (INT)sMIB.ReceivedFragmentCount); printf("MulticastRxCount=%12d ", (INT)sMIB.MulticastReceivedFrameCount); printf("FCSErrorCount =%12d\n",(INT)sMIB.FCSErrorCount); } return result;}/*+ * * Description: * * Called when the user has requested the 'stat'(statistics)command at the * command line. * * Parameters: * In: * skfd, argc, argv * Out: * none * * Return Value: '0' if success *-*/int s_cmdGetSTAT(int skfd, int argc, char **argv){ int result; SCmdRequest sReq; SStatMIBCount sSTAT; result = 0; strcpy((char *)sReq.name, argv[1]); sReq.wResult = 0; sReq.data = &sSTAT; sReq.wCmdCode = WLAN_CMD_GET_STAT; result = ioctl( skfd, IOCTL_CMD_SET, &sReq); if (result || sReq.wResult) { printf("%s: failed in get stat command.\n", AppName); result = 1; } else { printf("IsrTx0OK =%12d ", (INT)sSTAT.dwIsrTx0OK); printf("IsrTx1OK =%12d\n", (INT)sSTAT.dwIsrTx1OK); printf("IsrBeaconTxOK =%12d ", (INT)sSTAT.dwIsrBeaconTxOK); printf("IsrRxOK =%12d\n", (INT)sSTAT.dwIsrRxOK); printf("IsrTBTTInt =%12d ", (INT)sSTAT.dwIsrTBTTInt); printf("IsrSTIMERInt =%12d\n", (INT)sSTAT.dwIsrSTIMERInt); printf("IsrUnrecovErr =%12d ", (INT)sSTAT.dwIsrUnrecoverableError); printf("IsrSoftInt =%12d\n", (INT)sSTAT.dwIsrSoftInterrupt); printf("IsrRxNoBuf =%12d ", (INT)sSTAT.dwIsrRxNoBuf); printf("IsrUnknown =%12d\n", (INT)sSTAT.dwIsrUnknown); printf("RsrFrmAlgnErr =%12d ", (INT)sSTAT.dwRsrFrmAlgnErr); printf("RsrErr =%12d\n", (INT)sSTAT.dwRsrErr); printf("RsrCRCErr =%12d ", (INT)sSTAT.dwRsrCRCErr); printf("RsrCRCOk =%12d\n", (INT)sSTAT.dwRsrCRCOk); printf("RsrBSSIDOk =%12d ", (INT)sSTAT.dwRsrBSSIDOk); printf("RsrADDROk =%12d\n", (INT)sSTAT.dwRsrADDROk); printf("RsrICVOk =%12d ", (INT)sSTAT.dwRsrICVOk); printf("RsrShortPre =%12d\n", (INT)sSTAT.dwNewRsrShortPreamble); printf("RsrLong =%12d ", (INT)sSTAT.dwRsrLong); printf("RsrRunt =%12d\n", (INT)sSTAT.dwRsrRunt); printf("RsrRxControl =%12d ", (INT)sSTAT.dwRsrRxControl); printf("RsrRxData =%12d\n", (INT)sSTAT.dwRsrRxData); printf("RsrRxManage =%12d ", (INT)sSTAT.dwRsrRxManage); printf("RsrRxPacket =%12d\n", (INT)sSTAT.dwRsrRxPacket); printf("RsrRxOctet =%12d ", (INT)sSTAT.dwRsrRxOctet); printf("RsrBroadcast =%12d\n", (INT)sSTAT.dwRsrBroadcast); printf("RsrMulticast =%12d ", (INT)sSTAT.dwRsrMulticast); printf("RsrDirected =%12d\n", (INT)sSTAT.dwRsrDirected); printf("RsrOK =%12d\n\n", (INT)sSTAT.ullRsrOK); printf("RxBroadcstBytes=%12d ", (INT)sSTAT.ullRxBroadcastBytes); printf("RxMulticstBytes=%12d\n", (INT)sSTAT.ullRxMulticastBytes); printf("RxDirectedBytes=%12d ", (INT)sSTAT.ullRxDirectedBytes); printf("RxBroadcstFrame=%12d\n", (INT)sSTAT.ullRxBroadcastFrames); printf("RxMulticstFrame=%12d ", (INT)sSTAT.ullRxMulticastFrames); printf("RxDirectedFrame=%12d\n", (INT)sSTAT.ullRxDirectedFrames); printf("RxLen64 =%12d ", (INT)sSTAT.dwRsrRxFrmLen64); printf("RxLen65_127 =%12d\n", (INT)sSTAT.dwRsrRxFrmLen65_127); printf("RxLen128_255 =%12d ", (INT)sSTAT.dwRsrRxFrmLen128_255); printf("RxLen256_511 =%12d\n", (INT)sSTAT.dwRsrRxFrmLen256_511); printf("RxLen512_1023 =%12d ", (INT)sSTAT.dwRsrRxFrmLen512_1023); printf("RxLen1024_1518 =%12d\n", (INT)sSTAT.dwRsrRxFrmLen1024_1518); printf("RsrRxOctet =%12d ", (INT)sSTAT.dwRsrRxOctet); printf("RsrBroadcast =%12d\n", (INT)sSTAT.dwRsrBroadcast); printf("RsrMulticast =%12d ", (INT)sSTAT.dwRsrMulticast); printf("RsrDirected =%12d\n", (INT)sSTAT.dwRsrDirected); printf("RsrOK =%12d ", (INT)sSTAT.ullRsrOK); printf("RxBroadcstByte =%12d\n", (INT)sSTAT.ullRxBroadcastBytes); printf("RsrRxFragment =%12d\n\n", (INT)sSTAT.dwRsrRxFragment); printf("TsrTotalRetry =%12d ", (INT)sSTAT.dwTsrTotalRetry[1]); printf("TsrOnceRetry =%12d\n", (INT)sSTAT.dwTsrOnceRetry[1]); printf("TsrMoreOneRetry=%12d ", (INT)sSTAT.dwTsrMoreThanOnceRetry[1]); printf("TsrRetry =%12d\n", (INT)sSTAT.dwTsrRetry[1]); printf("TsrACKData =%12d ", (INT)sSTAT.dwTsrACKData[1]); printf("TsrErr =%12d\n", (INT)sSTAT.dwTsrErr[1]); printf("AllTsrOK =%12d ", (INT)sSTAT.dwAllTsrOK[1]); printf("TsrRetryTimeout=%12d\n", (INT)sSTAT.dwTsrRetryTimeout[1]); printf("TsrTxTimeout =%12d ", (INT)sSTAT.dwTsrTransmitTimeout[1]); printf("TsrTxPacket =%12d\n", (INT)sSTAT.dwTsrTxPacket[1]); printf("TsrTxOctet =%12d ", (INT)sSTAT.dwTsrTxOctet[1]); printf("TsrBroadcast =%12d\n", (INT)sSTAT.dwTsrBroadcast[1]); printf("TsrMulticast =%12d ", (INT)sSTAT.dwTsrMulticast[1]); printf("TsrDirected =%12d\n", (INT)sSTAT.dwTsrDirected[1]);/* printf("CntRxDataErr =%12d ", (INT)sSTAT.dwCntRxDataErr); printf("CntDecryptErr =%12d\n", (INT)sSTAT.dwCntDecryptErr); printf("CntRxICVErr =%12d ", (INT)sSTAT.dwCntRxICVErr); printf("RxErrorDesc =%12d\n", (INT)sSTAT.idxRxErrorDesc);*/ } return result;}/*+ * * Description: * * This function displays usages of the wetctl utility. * * * Parameters: * In: * void * Out: * none * * Return Value: none *-*/VOID vCmdUsage(void){ printf("\nUtility for Solomon-A/B/G wireless cards: %s Version %s\n", AppName, VERSION); printf("Usage: %s interface command\n\n", AppName); printf(" where \"interface\" is the name of a network interface\n"); printf(" such as eth0 or eth1.. Running 'ifconfig' will list all\n"); printf(" network interfaces.\n\n"); printf("Example: %s eth0 link\n\n", AppName); printf("Command List: \n"); printf(" scan : scan all channels to collect available BSS(AP)\n"); printf(" list : show all BSS(AP) list\n"); printf(" link : show link status\n"); printf(" mib : show 802.11 mib counters\n");// printf(" stop : turn off radio\n");// printf(" stat : show statistics\n");// printf(" nodes: show station nodes\n");}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -