-
プログラミング
-
【C++】ビーコン(IEEE802.11)を送信して、疑似APを作ってみた!
2019/09/13 -プログラミング
普段私たちが使っているWi-Fiは、"IEEE802.11" という規格に基づいて通信が行われます。 そして、AP (アクセスポイント) を認識させるには、ビーコンフレームを使います。 ビーコンフレー ...
-
プログラミング
-
【Kali Linux】たった10秒で始めるPythonプログラミング!
2019/08/23 -プログラミング
異なるプログラミン言語を触ってみたいけど、開発環境をどのように整えればよいのか分からない、という方は多いかと思います。pythonの場合だとPyCharmやWing IDEといった、IDE(統合開発環 ...
-
プログラミング
-
【C言語】UDPセグメント(HelloWorld!)をRawソケットで送信する!
2019/08/12 -プログラミング
基本的には、TCP/UDPセグメントをわざわざRawソケットを使う必要ありません。SOCK_DGRAMを使った方がコードもシンプルになりますし、そっちの方が簡単です。しかし時にはUDPセグメントをRa ...
-
プログラミング
-
【DHCP】Cでdiscoverを送信してみた
2019/08/07 -プログラミング
今回はDHCPのdiscoverパケットを送信してみました。 実行環境にはVirtual Boxで構築したネットワークを使用しています ※DHCPパケット送信できるかという勉強目的なので、実際はDHC ...
-
プログラミング
-
UDPをBroadcastしようとしたら、permission deniedになった件
2019/08/07 -プログラミング
DHCPパケットを送信するコードを書いていたら、どうも送信の部分が上手くいきませんでした。 通常通りUDPソケットを作って、作成したソケット、データ、sockaddr_inなどをsendtoで指定しま ...
-
プログラミング
-
Cでarpreq構造体&SIOCSARPを使ってARPテーブルにエントリーを追加してみた!
2019/07/24 -プログラミング
今回はCでARPテーブルにエントリーを追加してみます。 鍵となるのは、ARPエントリーの情報をまとめたarpreq構造体と、そのエントリーをARPテーブルに登録するためのSIOCSARPです。ちなみに ...
-
プログラミング
-
CのRawSocketでARPスプーフィングしてみた!
2019/07/24 -プログラミング
今回はARPスプーフィングをC言語で実際に体感してみたいと思います。 VirtualBoxを用いて、ホストOS一台とゲストOS二台で行いました。 対象AはホストOSなので、MACアドレスは伏せました。 ...
-
プログラミング
-
C言語でARPテーブルを表示させてみた!
2019/07/18 -プログラミング
今回はCで保持している全てのARPエントリーを取得して表示させてみました。CでARPテーブルを表示させようと思った当初、arpコマンドで出てくる情報をそのままCで表示したいと思いまいした。 そこで最初 ...
-
プログラミング
-
Raw SocketでICMPパケットを扱ってみた!
2019/06/08 -プログラミング
今回はICMPパケットに絞ってみていこうと思います。 ICMPはタイプとコードの値を持っています。タイプによっては複数のコードを持つものもあります。なので、タイプやコードの値を表示するだけなら、icm ...
-
プログラミング
-
Raw SocketでARPパケットをキャプチャする
2019/06/06 -プログラミング
ARPパケットにターゲットを絞って、パケットキャプチャしていこうと思います。 ARPパケットを扱うには、linuxで定義されているether_arp構造体とarphdr構造体を使用します。そのためには ...
-
プログラミング
-
【パケットキャプチャ】Raw Socket でpingを受信し中身を表示してみた
2019/06/05 -プログラミング
パケットキャプチャを作る際のテスト用として、pingの受信結果を簡単に表示するものです。 まずはインクルードするもの
1234567891011121314#include<stdio.h>#include<string.h>#include<sys/ioctl.h>#include<sys/socket.h>#include<net/if.h>#include<net/ethernet.h>#include<netpacket/packet.h>#include<arpa/inet.h>#include<linux/if.h>#include<unistd.h>#include<netinet/ip.h>#include<netinet/ip_icmp.h>#include<net/if_arp.h>#include<netinet/if_ether.h>次に各プロトコル ...
-
プログラミング
-
recvで受信しEthernetヘッダを表示してみた
2019/06/02 -プログラミング
データリンク層を扱えるソケットを使って、受信したデータのEthernetヘッダを表示してみました。自分でEhternetフレームを定義する必要はなく、すでにライブラリに準備されています。 Linuxの ...