1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          libnet(Linux下libnet怎么使用)

          來源:互聯網轉載 時間:2024-05-05 03:15:01

          在Linux下,libnet是一個用于網絡數據包構造和發送的C庫。以下是一個簡單的步驟來使用libnet:

          1. 安裝libnet庫:

          使用包管理器安裝:根據您所使用的Linux發行版,可以使用適當的包管理器(如apt、yum、dnf等)安裝libnet庫。例如,在Ubuntu上可以運行sudo apt-get install libnet-dev來安裝。

          手動編譯安裝:您也可以從官方網站下載源代碼并進行手動編譯和安裝。

          2. 創建一個新的C文件(例如,example.c),然后在文件中引入libnet頭文件,并使用`libnet`庫的函數進行網絡數據包構造和發送。以下是一個簡單的示例:

          #include<stdio.h>

          #include<libnet.h>

          intmain(){

          //初始化libnet

          libnet_t*l=libnet_init(LIBNET_RAW4,NULL,NULL);

          if(l==NULL){

          fprintf(stderr,"Failedtoinitializelibnet\n");

          return1;

          }

          //構造一個IP數據包并發送

          uint32_tsrc_ip=libnet_name2addr4(l,"192.168.0.1",LIBNET_RESOLVE);

          uint32_tdst_ip=libnet_name2addr4(l,"192.168.0.2",LIBNET_RESOLVE);

          uint16_tpayload_size=8;//假設負載大小為8字節

          uint16_tpacket_size=LIBNET_IP_H+payload_size;

          char*payload="Hello!";

          libnet_ptag_tip_tag=libnet_build_ipv4(

          packet_size,//IP數據包總大小

          0,//tos字段

          12345,//ID字段

          0,//frag標志和偏移量

          64,//TTL字段

          IPPROTO_TCP,//上層協議(這里使用TCP)

          0,//校驗和(0表示由libnet自動計算)

          src_ip,//源IP地址

          dst_ip,//目標IP地址

          NULL,//負載數據

          0,//負載數據大小

          l,//libnet句柄

          0//構造新的IPv4數據包頭

          );

          if(ip_tag==-1){

          fprintf(stderr,"FailedtobuildIPv4header:%s\n",libnet_geterror(l));

          libnet_destroy(l);

          return1;

          }

          //輸出構建的數據包信息

          printf("BuiltanIPpacketwithsize:%d\n",packet_size);

          //發送數據包

          intbytes_sent=libnet_write(l);

          if(bytes_sent==-1){

          fprintf(stderr,"Failedtosendpacket:%s\n",libnet_geterror(l));

          libnet_destroy(l);

          return1;

          }

          printf("Sent%dbytes\n",bytes_sent);

          //清理并退出

          libnet_clear_packet(l);

          libnet_destroy(l);

          return0;

          }

          3. 編譯并鏈接程序:

          在終端中,切換到包含example.c文件的目錄。

          使用以下命令來編譯程序并鏈接`libnet`庫:

          gcc-oexampleexample.c-lnet

          這將生成可執行文件example,其中-lnet選項用于鏈接libnet庫。

          4. 運行程序:

          在終端中,使用以下命令運行程序:

          ./example

          如果一切順利,您將看到輸出信息,指示數據包是否成功發送。

          標簽:libnet-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          京東金條怎么開通?1、想要成功開通京東金條,需要先開通京東白條,因為只有白條用戶才有資格申請,其次個人征信必須良好,不能有任何不良信用記錄,小白信用分越高,越容易申請。2、正常使用京東白條兩個月以上,留在京東的收貨地址、手機號,不要經常更改,綁定自己的QQ號,還可以在京東金融多購買理財產品,證明自己的還款實力。這樣能夠提高自己的綜合資質,去申請京東金條更容易通過審批。新開戶京東金條有額度嗎?用戶的...

          微信怎么看年度賬單?微信年度賬單還是比較容易查看的,使用者可以在微信首頁直接搜索【微信記賬本】,進入微信記賬本小程序以后,一鍵同步授權并更新微信支付數據;然后可以在該小程序中找到【收支統計功能】,用戶就可按日、月查看支出賬單了。此外,想要查詢微信年度賬單的朋友還可以登錄微信,在微信首頁找到【我】—【支付】—【錢包】,然后點擊錢包頁面右上角的【賬單】即可按月份查看微信的每一筆...

          (資料圖)哈嘍小伙伴們 ,今天給大家科普一個小知識。在日常生活中我們或多或少的都會接觸到燕青主要事跡5個簡潔方面的一些說法,有的小伙伴還不是很了解,今天就給大家詳細的介紹一下關于燕青主要事跡5個簡潔的相關內容。1、父母雙亡:燕青是北京大名府人氏,自幼父母雙亡,由盧家撫養長大,是盧俊義的心腹家仆。2、忠心救主:梁中書命人抓捕盧俊義,蔡福兄弟受到柴進重金委托,花錢打通關節,終使盧俊義由死罪改為刺配。差...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>