91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 13KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-05
  • 語言: C/C++
  • 標簽: Linux??發包??sendpkt??

資源簡介

Linux下發包程序的實現。支持以指定的發包速率、發包網卡及指定的源數據包文件發送數據報文。同時支持 pcap 格式或 cap 格式數據包的發送。 編譯此程序前需先安裝 libpcap

資源截圖

代碼片段和文件信息

//?以指定的發包速率、發包網卡及指定的源數據包文件發送數據報文。
//?同時支持?pcap?格式或?cap?格式數據包的發送
//?編譯此程序前需先安裝?libpcap
//?作者:?peixw
//?交流QQ:?251207612

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#define??RET_PARA_ERROR?????????????????(1)
#define??RET_CTRL_C?????????????????????(2)
#define??RET_SEND_ERROR?????????????????(3)

#define??TEN_EXP_SIX????????????????????(1000000UL)
#define??MTU_PAD_UNIT???????????????????(4)

#define??PKT_T_CAP??????????????????????(0)
#define??PKT_T_PCAP?????????????????????(1)
#define??PKT_T_INVALID??????????????????(-1)

#define??SIZE_64B???????????????????????(1U<<6)
#define??SIZE_128B??????????????????????(1U<<7)
#define??SIZE_2K????????????????????????(1U<<11)
#define??SIZE_8K????????????????????????(1U<<13)
#define??DEFAULT_MTU????????????????????(1500)
#define??MAX_frame_LEN??????????????????(1600)

struct?timeval?g_stTimevalStart;
static?unsigned?long?long?g_ullSendSize?=?0;
static?unsigned?long?long?g_ullSendPacks?=?0;
static?char?g_szEthDriver[16]?=?{0};
static?int?g_iMtuMofified?=?0;

//?打印統計信息
void?PrintStatInfo(void)
{
????u_long?ulDiffUsec?=?0;
????struct?timeval?stTimevalNow;
????u_long?ulActualSpeed?=?0U;
????double?dActualSpeed?=?(0.0);

????if?(0?!=?gettimeofday(&stTimevalNow?NULL))
????{
????????perror(“gettimeofday“);
????????return?;
????}

????printf(“Send?finished!\n----------------------------------------------\n“);
????char?szTimeInfo[SIZE_64B]?=?{0};
????time_t?ttInfo;
????ttInfo?=?g_stTimevalStart.tv_sec;
????(void)ctime_r(&ttInfo?szTimeInfo);
????printf(“Start\tTime:\t%s“?szTimeInfo);

????memset(szTimeInfo?0?sizeof(szTimeInfo));
????ttInfo?=?stTimevalNow.tv_sec;
????(void)ctime_r(&ttInfo?szTimeInfo);
????printf(“Stop\tTime:\t%s“?szTimeInfo);

????u_long?ulDiffSec?=?(stTimevalNow.tv_sec?-?g_stTimevalStart.tv_sec);

????ulDiffUsec?=?stTimevalNow.tv_usec?-?g_stTimevalStart.tv_usec;

????if(ulDiffUsec?????{
????????ulDiffUsec?+=?TEN_EXP_SIX;
????????--stTimevalNow.tv_sec;
????}

????ulDiffUsec?+=?ulDiffSec?*?TEN_EXP_SIX;
????dActualSpeed?=?(double)g_ullSendSize?/?ulDiffUsec;
????dActualSpeed?*=?8;

????ulActualSpeed?=?(u_long)(dActualSpeed?*?TEN_EXP_SIX);

????printf(“Total\tSend:\t%llu?Bytes\n“?g_ullSendSize);
????printf(“Time\tCost:\t=?%lu(sec)?=?%lu(usec)\n“?ulDiffSec?ulDiffUsec);

????printf(“Actual?Speed:\t=?%ld?b/s“?ulActualSpeed);
????if(ulActualSpeed)
????{
????????ulActualSpeed?>>=?10;
????}

????if(ulActualSpeed)
????{
????????printf(“?=?%ld?Kb/s“?ulActualSpeed);
????????ulActualSpeed?>>=?10;
????}

????if(ulActualSpeed)
????{
????????printf(“?=?%ld?Mb/s“?ulActualSpeed);
????}
????printf(“\nSended\tPack:\t%llu\n“
???????????“----------------------------------------------\n“
??????????

評論

共有 條評論