📄 main.cpp
字号:
#include "NetworkStuff.h"
#include "RawPacket.h"
pcap_if_t* ChosenDevice;
int main()
{
cout << "Enter the number of your device (example: 2)" << endl;
ShowDeviceList();
int chosen;
cin >> chosen;
int i = 1;char Error[PCAP_ERRBUF_SIZE];
pcap_findalldevs_ex(PCAP_SRC_IF_STRING,NULL,&ChosenDevice,Error);
for(pcap_if_t* CurrentDevice = ChosenDevice;CurrentDevice != NULL;CurrentDevice = CurrentDevice->next)
{
if(i == chosen)
{
ChosenDevice = CurrentDevice;
break;
}
i++;
}
DeviceInfo di;
di = GetAdapterInfo(ChosenDevice);
if(di.Exists == false)
{
cout << "Invalid Selection (Try another device)\n";
return 0;
}
cout << "You chose: " << ChosenDevice->name << endl;
char SourceIP[16];
char SourcePort[6];
char SourceMAC[19];
char DestinationIP[16];
char DestinationPort[6];
char DataString[2048];
cout << "Enter source IP (or -1 for real)\n";
cin >> SourceIP;
cout << "Enter source port (0-65535)\n";
cin >> SourcePort;
cout << "Enter source MAC (or -1 for real) \n";
cin >> SourceMAC;
cout << "Enter destination IP\n";
cin >> DestinationIP;
cout << "Enter destination port(0-65535)\n";
cin >> DestinationPort;
cout << "Enter data string\n";
cin >> DataString;
RawPacket RP;
if(strcmp(SourceMAC,"-1")==0)
{
if(strcmp(SourceIP,"-1")==0)
{
RP.CreatePacket(di.PhysicalAddress,di.GatewayPhysicalAddress,di.IP,inet_addr(DestinationIP),atoi(SourcePort),atoi(DestinationPort),(UCHAR*)DataString,strlen(DataString));
RP.SendPacket(ChosenDevice);
return 0;
}
RP.CreatePacket(di.PhysicalAddress,di.GatewayPhysicalAddress,inet_addr(SourceIP),inet_addr(DestinationIP),atoi(SourcePort),atoi(DestinationPort),(UCHAR*)DataString,strlen(DataString));
RP.SendPacket(ChosenDevice);
return 0;
}
if(strcmp(SourceIP,"-1")==0)
{
RP.CreatePacket(MACStringToBytes(SourceMAC),di.GatewayPhysicalAddress,di.IP,inet_addr(DestinationIP),atoi(SourcePort),atoi(DestinationPort),(UCHAR*)DataString,strlen(DataString));
RP.SendPacket(ChosenDevice);
return 0;
}
RP.CreatePacket(MACStringToBytes(SourceMAC),di.GatewayPhysicalAddress,inet_addr(SourceIP),inet_addr(DestinationIP),atoi(SourcePort),atoi(DestinationPort),(UCHAR*)DataString,strlen(DataString));
RP.SendPacket(ChosenDevice);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -