神州数码消息传送器

#include  < cstdlib >
#include 
< iostream >
#include 
< winsock2.h >  
#pragma  comment(lib,"WS2_32.lib")

using   namespace  std;

void  showhelp()
{
    cout
<<"        神州数码消息传送器        "<<endl;
    cout
<<"           〓使用说明〓   "<<endl;
    cout
<<""<<endl;
    cout
<<"help    显示使用帮助"<<endl;
    cout
<<"ip    输入目标IP地址"<<endl;
    cout
<<"msg    开始发送信息,每次回车发送一次,输入exit退出信息发送模式"<<endl;
    cout
<<"msgn    向指定的IP发送多次消息"<<endl;
    cout
<<"IP2IP    向一个地址段发送信息"<<endl;
    cout
<<"exit    退出程序"<<endl<<endl<<endl;
}



int  main( int  argc,  char   * argv[])
{
    
/*
    神州数码消息传送器
    使用说明

    help    显示使用帮助
    ip        输入目标IP地址
    msg        开始发送信息,每次回车发送一次,输入exit退出信息发送模式
    exit    退出程序
*/

    
char cmd[255];
    
char ip[16];
    
char msg[255];
    
int flag(0);
    
int temp;


    WSADATA wsaData;
    BYTE minorVer
=2;
    BYTE majorVer
=2;
    WORD sockVersion
=MAKEWORD(minorVer,majorVer);
    
if(::WSAStartup(sockVersion,&wsaData)!=0)
    
{exit(0);};

    SOCKET s
=socket(AF_INET,SOCK_DGRAM,0);

    sockaddr_in sin ;
    sin.sin_family
=AF_INET;
    sin.sin_port
=htons(10060);
    sin.sin_addr.S_un.S_addr
=inet_addr("192.168.0.1");    
    
    showhelp();
    cout
<<"[DIGI]#";
    
while(cin>>cmd)
    
{
        flag
=0;
            
if(strcmp(cmd,"help")==0)
            
{
                showhelp();
                flag
=1;
            }


            
if(strcmp(cmd,"ip")==0)
            
{
                cout
<<"请输入目标机器的IP地址:";
                cin
>>ip;
                sin.sin_addr.S_un.S_addr
=inet_addr(ip);
                flag
=1;
            }


            
if(strcmp(cmd,"msg")==0)
            
{
                cout
<<"开始发送消息..."<<endl;
                
while(cin>>msg)
                
{
                    
if(strcmp(msg,"exit")!=0)
                    
{
                        sendto(s,msg,strlen(msg),
0,(sockaddr*)&sin,sizeof(sin));
                    }

                    
else
                    
{
                    
break;
                    }

                }

                flag
=1;
            }


            
if(strcmp(cmd,"msgn")==0)
            
{
                
int cnt;
                cout
<<"请输入要发送的信息:";
                cin
>>msg;
                cout
<<"请输入要发送的次数:";
                cin
>>cnt;
                
if(cnt<0)cnt=0;
                
for(int i=0;i<cnt;i++)
                    sendto(s,msg,strlen(msg),
0,(sockaddr*)&sin,sizeof(sin));
                flag
=1;
            }



            
//下面是各隐藏的方法
            if(strcmp(cmd,"IP2IP")==0)
            
{
                in_addr ip1,ip2;
                
char iptemp[16];
                cout
<<"请输入起始IP:";
                cin
>>iptemp;
                ip1.S_un.S_addr
=inet_addr(iptemp);
                cout
<<"请输入中止IP:";
                cin
>>iptemp;
                ip2.S_un.S_addr 
=inet_addr(iptemp);

                cout
<<"请输入要发送的字符串:";
                cin
>>msg;

                
for(unsigned long i=ntohl(ip1.S_un.S_addr);i<=ntohl(ip2.S_un.S_addr);i++)
                
{
                    sin.sin_addr.S_un.S_addr
=htonl(i);
                    cout
<<inet_ntoa(sin.sin_addr)<<endl;
                    sendto(s,msg,strlen(msg),
0,(sockaddr*)&sin,sizeof(sin));
                }


                cout
<<"发送完毕!"<<endl;
                flag
=1;

            }


            
if(strcmp(cmd,"exit")==0)
            
{
                cout
<<"谢谢使用!"<<endl;
                system(
"PAUSE");
                
return EXIT_SUCCESS;
            }


            
if(flag==0)
            
{
                showhelp();
            }


            cout
<<endl<<"[DIGI]#";

    }



}

 

神州数码消息传送器

因为神州数码客户端在UDP-10060监听消息并弹出提示

我们可以通过向该端口发送UDP数据对目标计算机传送消息,呵呵

程序没有防止内存溢出等的处理,比较简陋

有兴趣的可以继续完善

本程序用VC8编译

禁止将本程序用于恶意用途

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值