ここでは、Linuxを使ったネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつLinux環境でプログラミングを行いたい人です。 開発環境としては、C言語+gccを想定しています。 説明内容は主にソケットプログラミングになります。 なお、C言語そのものが初めての方は「C言語入門」も参考にどうぞ。Windows専用には書いてませんが主にC言語で共通の部分を解説しています。 コードを書く前の準備 まず、gccを使える状態にしないといけません。 ディストリビューションにもよりますが、Linuxを普通にインストールしただけでは開発環境は入りません。 開発環境を用意するためには、gccやglibcなどのrpmを必要に応じてインストールしてください。 次に、エディタが必要になります。 mule、emacs、xemac
ここでは、WinSockを使ったWindowsネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつWindows環境でプログラミングを行いたい人です。 WinSockという名称は、Windows Socketsから来ています。 名前の通り、Winsockはウィンドウズでソケットを使ってプログラムを書くためのAPI(Application Program Interface)です。 Winsockを使うと、TCP/IPなどインターネットを使って通信を行うプログラムが書けます。 ここで説明を行うwinsockのバージョンは2.0です。 ただし、大枠に関してはversion 1.0と2.0で同じ部分もあるので1.0を利用する方でも参考にはなると思います。 Winsockが対応するWindowsのバージョンとして
/// C,C++での実装 SOCKET ListenSocket; struct addrinfo me; ZeroMemory(&me, sizeof(me)); // 構造体をゼロクリア me.ai_family = AF_INET; // IPv4プロトコルを指定 me.ai_socktype = SOCK_STREAM; // ソケットを作成 ListenSocket = socket(hints.ai_family, hints.ai_socktype, 0); /// C,C++での実装 // 作成したソケットと、ソケットアドレス情報 me をバイント // ホスト名から自動的にIPを設定する場合 addrinfo *res; char hostname[256]; char service[8]; unsigned short port = 10000; sprintf(s
Geocitiesの館 メインフロア ■Solaris管理室 ・10 インストール x86版 x86版 (Express) ・8 インストール SPARC版 x86版 ・コマンド一覧 ・設定 ・Sendmailの設定 ・再設定 ・ファイルシステム ・Tips ・ns2 インストール ・Gnome インストール ■写真展示室 ・イタリア ・ローマ ・バチカン美術館 ・サンピエトロ寺院 サンピエトロ広場 ・フィレンツェ ・プロフィール Niftyの館 メインフロア ■開発室 ■Visual Studio ・Shira.DLL ・AES暗号化ツール ・ICMPツール ■C/C++ ・RAWソケット ■Java ・Byte Code Format ・FileUpload ・FileUpload(Old) ・NCL&CCM
さて前回に続き、「自力でsyn scan」に挑戦します。こっそり敷居を下げるため、さりげなくタイトルが変わっていますけれど。 ちなみにsyn scanとは、「相手からのsyn+ackを受け取った時点で、ackを送らずrstを送り、3way handshakeを中断する」というポートスキャンの一種です。3way handshakeが成功していないので、接続が確立しておらず、ログに残らない、というメリット(誰の?)があるようです。 こういった少し怪しげな技術の是非はそっちのけで、自らのネタを完結させるべく話を進めます。 さて、「syn scanができました」というためには、「syn scan」するサンプルプログラムを書かないといけません。それを目標に頑張ってみます。頑張り手順を列挙していきます。 1. TCP/IPのヘッダ情報を調べる Webで検索したりTCP/IP関連の書籍をみてみて、TCP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く