0. 意外と知らないバージョン表記・数字の豆知識
1. サルでもわかるGit入門
2. WindowsでGitを使う (msysgit + TortoiseGit)
3. msysgitをインストールしたらコマンドプロンプトが文字化け
4. MsysGitのシェル拡張をアンインストールする
5. Git の基本 - Git リポジトリの取得
6. リモートのブランチをcloneする
7. NetBeans IDEでのGitサポートの使用
8.gitで差分抽出
9. リビジョン間の diff をとる
10. gitにsshで接続(ポートと秘密鍵を指定)
11. リビジョンの選択
12. windows環境の git で改行コードの自動変換に注意
13. git で強制的に pull する方法
14. gitでリモートのブランチにローカルを強制一致させたい時
15. git のコミットメッセージを修正したい。
16. SSL認証
2014年5月29日木曜日
2014年5月20日火曜日
C言語クックブック
0. 基礎知識
0. volatileで最適化を抑制する
0. 文字配列初期化の心得
0. sprintfの注意点
以下のように終端文字を設定すると(null)が設定される
ex.
char exten[4] = {0};
sprintf(exten,"%s",'\0');
printf("%s\n", exten);
出力結果 = (null)
ブランクを設定したい場合は、以下のようにする
sprintf(exten,"%s","");
0. フォーマット指定子一覧
0. 関数を調べる
0. ローカル変数とメモリスタックの注意点
0. IPヘッダ構造体について u_int8_t = u_char
0. 苦しんで覚えるC言語
2. strncpy(文字列をn文字コピー)
3. strcpy(文字列のコピー)
※strncpy(strcpyとの違い)
4. 文字列の置換~strchg関数を作る
5. 「警告: 初期化子のまわりのブレースを欠いています」対応
6. strcmp(文字列比較)
7. strtok(文字列strの中をデリミッタ文字で区切って、呼び出す毎に区切った文字列のアドレスを返す)
8. inotify
10. 文字列の終端 null文字('\0')に関すること
11. scanf関数で文字列を得るにはどうしたらいいのか、文字列を扱う時の危険性を考慮する
12. strcat(文字列の連結)
13. メモリの管理について
mallocもしくはnewで動的にメモリを確保した場合は、以下の関数で動的にメモリを開放する必要がある。
malloc - free
new - delete
※外部変数はプログラム終了後、関数で定義した内部変数は関数終了後にOSが自動的にメモリを開放する。また、関数についてはstack領域でメモリ確保し、mallocで確保したメモリ領域とは異なる。
参考:変数とメモリ領域の対応
14. ポインタ
15. static関数
16. 関数から配列の先頭アドレスを返す
17. POSIX正規表現 regex.h
18. if文(≠0:真、=0:偽)
19. GRegex(GLibの正規表現)の一般キャラクタタイプが使えない(警告: 不明なエスケープシーケンス '\d')
20. 大文字小文字
21.MySQL C APIを使って、C言語でMySQLに接続
22. プログラムの適切な終了方法を選択する
23. コマンドを実行する
24. プログラムで使う静的ライブラリ、共有ライブラリ
25. 文字列を整数型に変換する
26. statvfsでファイルシステム情報を取得
27. 標準入出力関数(1)
28. 配列の要素数を取得する
29. 配列
30. 配列やメモリ領域の内容をコピーする
31. 配列を自由自在に作る(配列のサイズを動的に変更)
32. sprintf(書式指定変換した出力を文字列に格納)strcpyとの使い分け
33. boolean型
34. NULLポインタ
35. strncmpとstrcmp
36. system関数
37. libcurlでhttp接続
39. C開発環境開発 for Windows
41. シグナル処理関数(シグナルハンドラ)を登録する
42. ファイル操作
43. C言語システムコール-gethostname
44. segfault の error_code の意味
45. C言語 popen()でコマンドを実行して出力を読み込む
46. 色々なデータ型の最大値、最小値
47. ファイルの所有者を変更する chown関数
48. システムコール-mkdir
49. Linuxでプロセスのデーモン化
50. マルチスレッド
52. voidポインタ
53. uname関数でシステム情報を取得する
54. gethostnameのヘルプ・マニュアル
55. バイトオーダー(htons() と htonl() を その逆は ntohs() と ntohl())
56. バイトオーダ - ビッグエンディアン/リトルエディアン
57. プログラムファイル分割
58. 文字列処理関数 綺麗にまとまってて分かりやすい
59. C言語で2次元配列を動的に割り当てる4つの方法 めっちゃ参考にしました
60. 構造体配列
61. 関数内でmallocするときの注意
62. mallocに対するcallocのメリットは何ですか。
63. C言語でMySQLにアクセスする
※MYSQL_ROWは、文字型のポインタの配列のため、int型の値を取得した場合は、atoiでの変換が必要
64. 文字型配列の初期化とクリア
65. MD5ハッシュによるファイルチェック
66. fread
67. snprintf
68. C言語標準ビルトイン型で関数オーバーロードしてはいけない
69. poll, ppoll - ファイルディスクリプターにおけるイベントを待つ
70. gcc の警告オプション -Wall と -W
71. Interprocess Communication (IPC)
72. バッファオーバーラン ~その1・こうして起こる~
73. gdb
0. volatileで最適化を抑制する
0. 文字配列初期化の心得
- callocは、0x00で初期化してくれる
- mallocは、0x00で初期化しない
- char str[n];は、0x00で初期化しない
- 2、3で定義した文字配列にstrncpyで文字配列をコピーする場合は、事前にmemsetなどで初期化すべき。コピー元の文字配列の長さ以降の領域に予期しない値が入っている場合がある
- 文字配列に値を設定する関数の挙動(終端文字をセットしてくれるか)は必ず確認
0. sprintfの注意点
以下のように終端文字を設定すると(null)が設定される
ex.
char exten[4] = {0};
sprintf(exten,"%s",'\0');
printf("%s\n", exten);
出力結果 = (null)
ブランクを設定したい場合は、以下のようにする
sprintf(exten,"%s","");
0. フォーマット指定子一覧
0. 関数を調べる
0. ローカル変数とメモリスタックの注意点
0. IPヘッダ構造体について u_int8_t = u_char
0. 苦しんで覚えるC言語
2. strncpy(文字列をn文字コピー)
3. strcpy(文字列のコピー)
※strncpy(strcpyとの違い)
4. 文字列の置換~strchg関数を作る
5. 「警告: 初期化子のまわりのブレースを欠いています」対応
6. strcmp(文字列比較)
7. strtok(文字列strの中をデリミッタ文字で区切って、呼び出す毎に区切った文字列のアドレスを返す)
8. inotify
- inotify を使ってファイルシステムのアクティビティーを監視する
- inotify API
- lsyncd(inotify)で上限ファイル数を超えた時の対処策
- inotifyの上限値設定変更
- inotify で Linux ファイルシステムのイベントを監視する
- inotifytools/inotifytools.h File Reference
10. 文字列の終端 null文字('\0')に関すること
11. scanf関数で文字列を得るにはどうしたらいいのか、文字列を扱う時の危険性を考慮する
12. strcat(文字列の連結)
13. メモリの管理について
mallocもしくはnewで動的にメモリを確保した場合は、以下の関数で動的にメモリを開放する必要がある。
malloc - free
new - delete
※外部変数はプログラム終了後、関数で定義した内部変数は関数終了後にOSが自動的にメモリを開放する。また、関数についてはstack領域でメモリ確保し、mallocで確保したメモリ領域とは異なる。
参考:変数とメモリ領域の対応
14. ポインタ
15. static関数
16. 関数から配列の先頭アドレスを返す
17. POSIX正規表現 regex.h
18. if文(≠0:真、=0:偽)
19. GRegex(GLibの正規表現)の一般キャラクタタイプが使えない(警告: 不明なエスケープシーケンス '\d')
20. 大文字小文字
21.
22. プログラムの適切な終了方法を選択する
23. コマンドを実行する
24. プログラムで使う静的ライブラリ、共有ライブラリ
25. 文字列を整数型に変換する
26. statvfsでファイルシステム情報を取得
27. 標準入出力関数(1)
28. 配列の要素数を取得する
29. 配列
30. 配列やメモリ領域の内容をコピーする
31. 配列を自由自在に作る(配列のサイズを動的に変更)
32. sprintf(書式指定変換した出力を文字列に格納)strcpyとの使い分け
33. boolean型
34. NULLポインタ
35. strncmpとstrcmp
36. system関数
37. libcurlでhttp接続
- 本家サイト
- cURL と libcurl を使ってインターネット経由でやりとりする
- C言語のlibcurl を使ってみた。でもgccのライブラリ・パスがよくわからなかった。
- ftpuploadサンプル
39. C開発環境開発 for Windows
- プログラミング速成コース 開発環境の準備-Windows編install_win.html
- Windows 7 で C/C++ の開発・実行環境を整える!
- cygwin + Eclipse + CDT 環境構築 (Windows)
- データを保持する
- CURLOPT_HEADERFUNCTION explained
- Setup Cygwin toolchain in Eclipse CDT(cygcheckコマンドのサンプル)
- 標準ライブラリにパスを通す
- [Eclipse]cppのSymbol ‘NULL’ could not be resolvedがクリーン&ビルドでも解決しない時に試したいこと
41. シグナル処理関数(シグナルハンドラ)を登録する
42. ファイル操作
43. C言語システムコール-gethostname
44. segfault の error_code の意味
45. C言語 popen()でコマンドを実行して出力を読み込む
46. 色々なデータ型の最大値、最小値
47. ファイルの所有者を変更する chown関数
48. システムコール-mkdir
49. Linuxでプロセスのデーモン化
50. マルチスレッド
- スレッドと排他処理とデッドロック(pthread,mutex)
- セマフォの操作を行なう
- pthread_cancel(3)を使ってみた
- マルチスレッドについて(マルチプロセスとの対比 fork)
- 子プロセスを生成する(fork)
52. voidポインタ
53. uname関数でシステム情報を取得する
54. gethostnameのヘルプ・マニュアル
55. バイトオーダー(htons() と htonl() を その逆は ntohs() と ntohl())
56. バイトオーダ - ビッグエンディアン/リトルエディアン
57. プログラムファイル分割
58. 文字列処理関数 綺麗にまとまってて分かりやすい
59. C言語で2次元配列を動的に割り当てる4つの方法 めっちゃ参考にしました
60. 構造体配列
61. 関数内でmallocするときの注意
62. mallocに対するcallocのメリットは何ですか。
63. C言語でMySQLにアクセスする
※MYSQL_ROWは、文字型のポインタの配列のため、int型の値を取得した場合は、atoiでの変換が必要
64. 文字型配列の初期化とクリア
65. MD5ハッシュによるファイルチェック
66. fread
67. snprintf
68. C言語標準ビルトイン型で関数オーバーロードしてはいけない
69. poll, ppoll - ファイルディスクリプターにおけるイベントを待つ
70. gcc の警告オプション -Wall と -W
71. Interprocess Communication (IPC)
72. バッファオーバーラン ~その1・こうして起こる~
73. gdb
- Debugging with GDB
- gdbの主要コマンド
- 最適化オプションのまとめ
- スタック・フレーム
- gcc+gdbによるプログラムのデバッグ 第1回 ステップ実行、変数の操作、ブレークポイント
- gcc+gdbによるプログラムのデバッグ 第2回 変数の監視、バックトレース、その他のコマンド
- gcc+gdbによるプログラムのデバッグ 第3回 gdbの便利な機能、デバッグの例
- 既に起動しているプロセスをgdbで制御する
- forkするプログラムのデバッグ
2014年5月19日月曜日
Asteriskクックブック
0. FreePBX confのリロード
0. CLIにAsteriskの標準エラーを出力
0. sip.conf canreinvite
AsteriskによるIP-PBXの構築(CentOS4.2編)より抜粋
設定は "yes/no" である。
本設定は、通話中にINVITE要求を送ってアドレスやポートを変更とする機能。
RTPでの音声パケットを端末間で直接送受させる場合は"yes"とすること。
"no"の場合はサーバがRTP中継することになり、常にサーバ負荷になるのと同時に両方の端末が仮にインターネット上にあった場合は、サーバ回線に2通話分の音声パケットのトラフィックが流れるので注意が必要。
なお、"yes"に設定しても一方が"no"の場合や、転送サービスとしてextensions.confで "t/T"オプションが指定してある場合は、サーバ中継になるので不用意にサービスを付与しないこと。
0. sip.conf host
内線のホスト名かIPアドレスを指定する。 "dynamic" を指定するとホスト名やIPアドレスは無視されるので、モバイルアクセスや動的IP環境のクライアントは本設定とすること。
0. MySQL接続ユーザー
2. Zaptelについて
3. Asteriskでひかり電話を使う
4. Tropo API を利用した自動音声応答装置(IVR)の構築サンプル
5. Asterisk cdr csv
6. CLI
7. PRIボード SANGOMA Support Wiki
8. Asterisk Wiki
9. ACD機能を試す(Asteriskの研究)
10. SIPpでSIP動作/負荷シナリオを作るメモ
11. WebRTC用にsrtpをインストール
※1.4.4をインストールする場合、以下のパスに読み換え
http://sourceforge.net/projects/srtp/files/srtp/1.4.4/srtp-1.4.4.tgz
11-2. PJPROJECT クラウドにAsterisk立てて[SIPクライアント-(WebRTC)-WEBブラウザ]間でビデオ通話した時のメモ
※FreePBXのインストール手順にはデフォルトで含まれている
12. 外線着信で"Rejecting unknown SIP connection"が発生した場合
13. SIP attacker blacklist
14. VoIP/SIPエンティティに対するDoSアタック
15. Asterisk CLI sip set debug
16. FUSION B2BUA IAX
17. Asterisk_NAT
18. RFC3581 日本語訳
19. FreePBXインストール手順(ディストロを使わない場合)
20. FreePBX ODBCの設定
21. 保留音の設定
22. iSymphony
23. FreePBXでDialPlanカスタム
24. Backgroundを使うときの注意点
25. AstDB
26. How to change the default FreePBX MYSQL password
27. AGI
29. Agent
30. AMI
31. ストリーミング配信をIP電話経由で聞く
32. PJSIP
33. SipCLI(SIPコマンドライン user agent)
34. Acrobit Softphone
36. State & Hints
39. Jitter関連設定
40. RTP送信間隔
41. Channelの解放
0. CLIにAsteriskの標準エラーを出力
0. sip.conf canreinvite
AsteriskによるIP-PBXの構築(CentOS4.2編)より抜粋
設定は "yes/no" である。
本設定は、通話中にINVITE要求を送ってアドレスやポートを変更とする機能。
RTPでの音声パケットを端末間で直接送受させる場合は"yes"とすること。
"no"の場合はサーバがRTP中継することになり、常にサーバ負荷になるのと同時に両方の端末が仮にインターネット上にあった場合は、サーバ回線に2通話分の音声パケットのトラフィックが流れるので注意が必要。
なお、"yes"に設定しても一方が"no"の場合や、転送サービスとしてextensions.confで "t/T"オプションが指定してある場合は、サーバ中継になるので不用意にサービスを付与しないこと。
0. sip.conf host
内線のホスト名かIPアドレスを指定する。 "dynamic" を指定するとホスト名やIPアドレスは無視されるので、モバイルアクセスや動的IP環境のクライアントは本設定とすること。
0. MySQL接続ユーザー
2. Zaptelについて
3. Asteriskでひかり電話を使う
4. Tropo API を利用した自動音声応答装置(IVR)の構築サンプル
5. Asterisk cdr csv
6. CLI
7. PRIボード SANGOMA Support Wiki
8. Asterisk Wiki
9. ACD機能を試す(Asteriskの研究)
10. SIPpでSIP動作/負荷シナリオを作るメモ
11. WebRTC用にsrtpをインストール
※1.4.4をインストールする場合、以下のパスに読み換え
http://sourceforge.net/projects/srtp/files/srtp/1.4.4/srtp-1.4.4.tgz
11-2. PJPROJECT クラウドにAsterisk立てて[SIPクライアント-(WebRTC)-WEBブラウザ]間でビデオ通話した時のメモ
※FreePBXのインストール手順にはデフォルトで含まれている
12. 外線着信で"Rejecting unknown SIP connection"が発生した場合
13. SIP attacker blacklist
14. VoIP/SIPエンティティに対するDoSアタック
15. Asterisk CLI sip set debug
16. FUSION B2BUA IAX
17. Asterisk_NAT
18. RFC3581 日本語訳
19. FreePBXインストール手順(ディストロを使わない場合)
20. FreePBX ODBCの設定
21. 保留音の設定
22. iSymphony
23. FreePBXでDialPlanカスタム
24. Backgroundを使うときの注意点
25. AstDB
26. How to change the default FreePBX MYSQL password
27. AGI
- agi set debug on <- CLIでAGIのデバッグをするためのコマンド
29. Agent
30. AMI
31. ストリーミング配信をIP電話経由で聞く
32. PJSIP
33. SipCLI(SIPコマンドライン user agent)
34. Acrobit Softphone
- asterisk-1.8.4.2をAcrobits Softphoneでプッシュ待ち受け
- iPhoneのソフトフォンでバックグラウンド待ち受け
- Cloud Softphone FAQ
- About Push Notifications
- Unable to receive Push Notifications
- Push Notifications on a PBX
36. State & Hints
- Asterisk func device_State
- Asterisk func hint
- Function_DEVICE_STATE
- Extension State and Hints
- RFC3856
- Astersikのリアルタイム化 設定ファイルの関連付け
- The Asterisk RealTime Architecture
- Asterisk Full RealTime example
- Asterisk RealTime Extensions
- (情報取得コマンドの記載あり)Asterisk + MySQL + RealTime SIP/Extensions/Voicemail
- No show peers after configure realtime asterisk with odbc
39. Jitter関連設定
40. RTP送信間隔
41. Channelの解放
- Locked up SIP extension on your Asterisk server? Me too. Here’s how I released it.
- hanging up active calls in asterisk
2014年5月4日日曜日
ネットワーク&セキュリティクックブック
0. 3分間ネットワーキング
0. MACアドレス
0. IPA(このサイトのセキュリティ、脆弱性対策情報は毎日チェック)
0. 理解してるつもりの SSL/TLS でも、もっと理解したら面白かった話
0. WiresharkでSSL通信の中身を覗いてみる
0. Wiresharkによるパケットトレースの収集と解析
0. 脆弱性攻撃スクリプトデータベース
0. グローバルIPをcurlで確認
0. tcpdumpでHTTPのPOSTメソッドのBodyを確認する
0. まずは「クッキー」を理解すべし
0. ASN
1. IPアドレス
2. windows 「239.255.255.250」へのパケットが送信
3.ping
4. whois ドメイン名検索
5. ドメイン一覧(whoisサーバ一覧)
6. Nullセッションとは
7. ゾーン転送
8. FTPデータコネクション PORTコマンドについて
9. 同一生成元ポリシー
0. MACアドレス
0. IPA(このサイトのセキュリティ、脆弱性対策情報は毎日チェック)
0. 理解してるつもりの SSL/TLS でも、もっと理解したら面白かった話
0. WiresharkでSSL通信の中身を覗いてみる
0. Wiresharkによるパケットトレースの収集と解析
0. 脆弱性攻撃スクリプトデータベース
0. グローバルIPをcurlで確認
0. tcpdumpでHTTPのPOSTメソッドのBodyを確認する
0. まずは「クッキー」を理解すべし
0. ASN
1. IPアドレス
2. windows 「239.255.255.250」へのパケットが送信
3.ping
4. whois ドメイン名検索
5. ドメイン一覧(whoisサーバ一覧)
6. Nullセッションとは
7. ゾーン転送
8. FTPデータコネクション PORTコマンドについて
9. 同一生成元ポリシー
11. IDSとIPS
12. IPアドレスドメイン変換
13. TCPのCLOSE_WAITとは?
14. 複数NICでのデフォルトゲートウェイ設定方法
15. 症状別ネット・トラブル解決法(後編)
16. 外部(からの)アクセスに便利なsshポートフォワーディング
17. IPv4マルチキャストアドレス
18. WebSocketについてしらべてみた
19. Windows 8 と WebSocket プロトコル
20. RFC6455 — The WebSocket Protocol 日本語訳
21. WebSocket/WebRTCの技術紹介
22. Windows7をルーター化
23. 日本国内の IP アドレスリストを作成する
24. traceroute(tracert)
25. 怪しい機器を探す切り札はMACアドレス
26. ベーシック認証をURLに直接書く
27. TCPプロトコル
28. データ受信時の「ACK番号」はどう増える?
29. ネットワーク帯域測定
30. IPsec VPNとSSL VPN
13. TCPのCLOSE_WAITとは?
14. 複数NICでのデフォルトゲートウェイ設定方法
15. 症状別ネット・トラブル解決法(後編)
16. 外部(からの)アクセスに便利なsshポートフォワーディング
17. IPv4マルチキャストアドレス
18. WebSocketについてしらべてみた
19. Windows 8 と WebSocket プロトコル
20. RFC6455 — The WebSocket Protocol 日本語訳
21. WebSocket/WebRTCの技術紹介
22. Windows7をルーター化
23. 日本国内の IP アドレスリストを作成する
24. traceroute(tracert)
25. 怪しい機器を探す切り札はMACアドレス
26. ベーシック認証をURLに直接書く
27. TCPプロトコル
28. データ受信時の「ACK番号」はどう増える?
29. ネットワーク帯域測定
30. IPsec VPNとSSL VPN
31.Wireshark
33. 【実録】WordPressの怪しい挙動をlsofとstraceコマンドで調査する方法
34. LinuxでNICのリンクアップ/ダウンや速度を確認できる『mii-tool』と『ethtool』コマンド
35. ポート指定して、経路を調べる # traceroute -p
36. 意外と知られてない?AWS EC2上で169.254.169.254にアクセスして、IPやホスト名、VPC情報などを取得する方法。(GCEでも同じIPだった)
37. 不正アクセス
38. 不正ファイルアップロード
- Wiresharkでキャプチャしたパケットを編集し送信 - Ostinato
- キャプチャしたパケット群の中から、任意の文字列を検索する方法
- Wiresharkによるパケットトレースの収集と解析
- Protocol field name: sip
33. 【実録】WordPressの怪しい挙動をlsofとstraceコマンドで調査する方法
34. LinuxでNICのリンクアップ/ダウンや速度を確認できる『mii-tool』と『ethtool』コマンド
35. ポート指定して、経路を調べる # traceroute -p
36. 意外と知られてない?AWS EC2上で169.254.169.254にアクセスして、IPやホスト名、VPC情報などを取得する方法。(GCEでも同じIPだった)
37. 不正アクセス
38. 不正ファイルアップロード
42. FreePBX
43. HTTPファイル転送
45. phpMyAdminを狙った攻撃観察(w00tw00tってどういう意味?)
46. Freeswitch
48. curl でレスポンスタイムを計測
49. QoS
50. オートネゴシエーション
46. Freeswitch
- 未認証ユーザーによる不正発信
- switch_regex.c の switch_perform_substitution 関数におけるバッファオーバーフローの脆弱性
- libs/esl/src/esl_json.c の parse_string 関数におけるヒープベースのバッファオーバーフローの脆弱性
48. curl でレスポンスタイムを計測
49. QoS
50. オートネゴシエーション
51. Tripwire
52. 帯域制限
登録:
投稿 (Atom)