日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 下运行libnids,libnids出错

發布時間:2023/12/4 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 下运行libnids,libnids出错 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2017/03/28

因為246上一般用的東西都比較多了,就直接使用了這部分。

但當初編譯的時候也不是我弄得。今天想試一下libnids的編程。

編譯錯誤

在網上查了下,說是版本不夠的原因,那我也不能重新編譯了,畢竟還有別人說不定用的好好的。

gcc -o test test.c -lnids -lpcap -lnet -lgthread-2.0

其實是一些軟件庫沒有鏈接好,回來得明白這部分的依賴關系。

我他媽真的是日了狗,我在241上,這么干凈的機器上安裝,然后失敗了。

241上

這部分的錯誤我也不知道是為什么。

gcc -o test test.c -lnids -lpcap -lnet -lgthread-2.0 -lglib-2.0

編譯通過,但程序提示錯誤。

libnet

但是這個庫的確是存在的,我試試重啟下,讓他重建下緩存。

http://blog.csdn.net/david_xtd/article/details/7625626/

(這個網站介紹了這部分錯誤的原因)

解決方案

按照這個方法,可以執行了。

應該就是因為,這部分的代碼,放在了/usr/local/lib/所以查不到。

現在編譯是通過了,但是還是跟原來一樣,沒辦法運作。

感覺一直沒有進入這個回調函數。

就是很多功能都實現了,但是就是沒顯示。!?

最后是因為那部分源碼有錯誤。

(源碼沒有錯誤,只需要把校驗和的函數運行即可。

但是要注意的就是,那個穿進去的東西是一個指針,所以一定要自己分配內存才可以,但這一直能說在當前系統下好使,好在自己一直用的是centos7,沒出現過什么問題。)測試的時候,一定要注意的就是一定要找一個雙向流的數據包。

1、初始化部分,把第一行nids_exit()注釋掉。

2、tcp.c里740行左右,有一部分的校驗和檢查函數,注釋掉就可以。

本來,我看別人都是直接用一個函數來關閉這個校驗和功能,但是不知道為什么,這個機器就是不好使。

那個系統也是這樣做的。但是就是不好使。

這部分,我回來可以抽出來時間,這個庫的源碼,好好讀讀。

好像他跟linux的協議棧很像。

現在是沒有時間了。

2017/04/29

今天看這個也是很費勁,主要網上的內容不多,大部分就是抄別人的。

而且, 都是很老的內容了。機器不一樣,系統不一樣都導致各種不好使。

自己也是廢了很大的勁,主要是從源碼一點一點檢查。

不過這樣也讓我有了很多理解。

后續,有了新內容會繼續添加。

2018/3/2

今天在自己的虛擬機上安裝libnids,又出現了錯誤,錯誤信息是無法連接libnet的一函數。

經過查看才知道自己下載的這個libnet的版本太老了。1.1.2.1吧好像是。已經十幾年了。

這次把所有的代碼注釋部分都清除了,也就是自己原來修改的部分,已經能夠正常運行。

總結

以上是生活随笔為你收集整理的linux 下运行libnids,libnids出错的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。