
C言語でネットワークを流れるパケットの取得&解析を行っているのですが、実行時にセグメンテーション違反と出てしまい、困っています。デバッグオプションをつけてやってみたところ、プログラムが中断されたところは分かったのですが、どこが悪いのか分かりません。どなたかあやしいところがありましたらお教え下さい。
OSはLinuxでコンパイラはgccです。
void udp_scanport(struct ip *ip, struct udphdr *udp)
{
static struct in_addr *ipaddr[1024];
static int i = -1;
static int udp_count[1024];
struct in_addr *inwk;
static u_short udp_port[1024];
int u = 0;
int k = 0;
i++;
inwk = (struct in_addr *)malloc(sizeof(struct in_addr));
memcpy(inwk, &ip->ip_src, sizeof(struct in_addr));
ipaddr[i] = (struct in_addr *)inwk;
printf("送信元IPアドレス:%15s\n", inet_ntoa(*(struct in_addr *) ipaddr[i]));
udp_port[i] = udp->uh_dport; /*デバッグしたら中断したところ*/
printf("UDP送信先ポート番号:%15u\n", ntohs(udp_port[i]));
if (i == 100)
free(inwk);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
c言語の問題の説明、各所ごとに
-
Cのオブジェクトファイルの逆ア...
-
C言語 関数、変数の宣言について
-
C言語について。
-
C言語でファクト関数を使わずに...
-
プログラミング 素数か素数では...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
int16_t の _t は何?
-
DLLファイルの逆コンパイラにつ...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
C言語 列挙型(enum型)変数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows端末でのsyslog受信につ...
-
パケットの計算方法について
-
C言語でTCPの3way handshake
-
LinuxでIPモジュールとデバイス...
-
パケット数のカウント方法
-
ネットワークの学習方法
-
ネットワーク上に存在しないIP...
-
C++言語でのWinsock2を使用した...
-
「シェーピング」って何ですか。
-
セグメンテーション違反
-
構造体のメンバをfor文で回したい
-
mailto:の本文に文字数制限はあ...
-
Wi-Fiが繋がらなくなりました N...
-
batファイルでtelnetを起動⇒文...
-
USB3.2 GEN2×2のケーブルにThun...
-
mailto:の中に&を入れる
-
outlookのアドレス帳について
-
逆引き権限委譲とは?
-
アクセスで有給休暇管理表を作...
-
MACアドレスで逮捕できる?
おすすめ情報