私は、IM の開発者がセキュリティと問題をテストするのを手伝っています。彼らは、サーバーで報告された tcp リセットの脆弱性の例を求めていました。コンパイルに問題があります。誰か助けてもらえますか? エラーログ: http://pastie.org/4212921
2 に答える
ほとんどの場合、最初に報告されたエラーから始めることをお勧めします。
あなたの場合、最初に報告されたエラーは次のとおりです。
reset-tcp.c:51: error: ‘u_char’ undeclared (first use in this function)
u_char
標準のCタイプではありません。おそらくのtypedefですunsigned char
。
ソースファイルには次の#include
ディレクティブがあります。
#include <libnet.h>
#include <stdio.h>
<stdio.h>
を定義できないためu_char
、-で定義する必要があります。<libnet.h>
具体的には、ソースファイルのバージョンが<libnet.h>
依存している場合に限ります。
reset-tcp.c
これは非標準のヘッダーです(私のシステムにはインストールされていません)。したがって、動作するように設計されたものとは異なるバージョンのlibnetを使用していると推測されます。
私はそれがあなたの問題を解決しないことを知っています、しかしそれはあなたに良い出発点を与えるはずです。
編集 :
Ubuntu 12.04システム(のバージョン1.1.4-2.1)に、、、およびパッケージをlibnet1
インストールlibnet1-dev
しました。これで、ソースファイルがコンパイルされ(74行目と75行目を結合した後)、いくつかの警告が表示されます。タイプはで定義され、間接的に。に含まれます。libnet1-doc
libnet1
u_char
/usr/include/i386-linux-gnu/sys/types.h
libnet.h
私はいくつかの警告を受け取ります:
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 3 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 4 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 5 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 6 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 7 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 8 has type ‘u_char *’ [-Wformat]
291.c:116:1: warning: format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat]
間違いなく注意を払う必要があります。コードは現在、 ()オブジェクトint
に値を格納しようとしています。u_char
unsigned char
提案:
使用しているオペレーティングシステムとバージョンを教えてください
libnet
。この情報があれば、誰かがより良いアドバイスを提供できるかもしれません。そのソースコードがどこから来たのかを教えてください。そして、
libnet
それがどのバージョンで動作するのかを知ることができるかどうかを確認してください。
libnet
とその開発パッケージをインストールする必要があります。
Debian では、パッケージlibnet1
とlibnet-dev
.