Creating a packet capture app without a remote VPN server with a Network Extension framework. Network Extensionおよびパケットキャプチャの概要 VPNの仕組み Network Extensionを使って簡易VPNクライアントを実装する パケットの構造と解析 パケットキャプチャを利用した実用的なツールの作成
![Network ExtensionでiOSデバイス上で動くパケットキャプチャを作る](https://cdn-ak-scissors.b.st-hatena.com/image/square/1888595ab3ba208214d39f8c61b81d5ab2a2e933/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F6d8d3afb2ae242febdd24e36d1369d90%2Fslide_0.jpg%3F19055166)
はじめに Raspberry Pi 3 は WiFi と LAN が標準搭載なので、WiFi で試験ネットワークを作るのにはうってつけです。 さて、iOS向けのアプリ審査ではIPv6対応が必須となりましたが、その試験ネットワークを作るための標準的な方法は「MacOSXでNAT64が有効なインターネット共有を作る」という方法です。 しかし Mac1台をNAT64のためにあてがうのはどうにも非効率な気がします。また、そもそも今時の Macbook などは有線LANインタフェースを持っていないので、このためにUSB or Thunderbold LANアダプタを用意せねばなりません。あるいは、PC or Mac を IPv6 側にぶら下げて挙動を比較する、などというケースもあるかもしれません。また、自分の手元でMac OSXのNAT64を試したのちにインターネット共有をオフにしても WiFi A
AppleはOS X 10.11 El CapitanでIPv6対応に向けインターネット共有のオプションに「NAT64ネットワークを作成」オプションを提供しています。詳細は以下から。 AppleはiOS 9とOS X 10.11からIPv6をメインストリームにネットワーク周りの開発を行っており既に”Happy Eyeballs“アルゴリズムの変更を行っていますが、これにより今後はiOSアプリもIPv6への対応を求めています(詳しくは公式およびQiitaへ)。そこでAppleはEl Capitanのインターネット共有のオプションに「NAT64ネットワークの作成」 を追加、IPv6のテスト環境を構築できるようにしています。 NAT64の使い方 NAT64ネットワークを利用するには、まずEl Capitan搭載のMacをEthernet(有線LAN)で接続し、システム環境設定の[ネットワーク]か
シンプルなCFNetworkラッパーを公開します 色々事情があって,CFNetworkのラッパーを書いて棄てたので公開します. CFNetworkとは Cocoa/Cocoa touchではNSURLConnectionっていうクラスがあって,基本的にはそれを使ってHTTPなどの通信をします. Foundationクラスはより低レイヤのCore Foundationのラッパーなので,NSURLConnectionも実体はCFNetworkになってます.つまり,CFNetworkを使えばオリジナルなNSURLConnectionを作れるということです. 当初はいい感じにまとめて,ARC対応のポストASIHTTPRequestのポジションを狙おうと思ってたんだけど,ちょっとヘビーすぎて諦めました.ASIHTTPRequestはマジでお化けプロダクトです.すごすぎる. どういうときに使うべきかっ
iOS9で問題になりそうなATSをまとめました。 ご指摘事項あれば是非コメントをいただきたいです。特にAFNetworkingまわり・・。 AFNetwotking部分は下に記載していますが、iOS8向けのビルドでiOS9端末でも発生したので要注意です。 2015/09/21追記 iOS9GM以降は(もうreleaseされちゃいましたが・・)AFNetworkingでの証明書判定がiOS8とおなじになりました。。。 2016/07/27追記 toshi0383さん 修正依頼ありがとうございます。 1年間間違っていることに気が付きませんでした。。修正ありがとうございます。 App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between a
アメリカ東部標準時で2013年の9月18日の13時にリリースされた、Appleの提供する「iOS 7」、これはiPhone 4以降のiPhoneや第5世代iPod touch、iPad 2以降のiPad、Apple TVなどで使用可能な最新のiOSです。このiOS 7がリリースされた当日、なんとネットワークトラフィックの約20%がiOS 7のダウンロードに費やされた、という統計結果をArs Technicaが紹介しています。 iOS 7 downloads consumed 20 percent of an ISP’s traffic on release day | Ars Technica http://arstechnica.com/information-technology/2013/11/ios-7-downloads-consumed-20-percent-of-an-isp
CFNetwork/CFProxySupport のAPIを利用するのが一番スマートそう。 CFNetworkCopySystemProxySettings関数で設定情報を辞書でまとめて取得できる。 CFDictionaryRef proxySettings = CFNetworkCopySystemProxySettings(); // 値が0でなければプロクシが有効になっている CFNumberRef enable = CFDictionaryGetValue(proxySettings, kCFNetworkProxiesHTTPEnable); BOOL isHttpProxySettingsEnable = CFBooleanGetValue(enable); Register as a new user and use Qiita more conveniently You g
This article is available in Serbo-Croatian, Japanese, German and French. (Translations in Serbo-Croatian by Jovana Milutinovich, Japanese by @noradaiko, German by Jonas Pencke (@jonaspencke) and French by Anna Chekovsky) Translations in other languages are welcome! How awesome would it be if a networking framework automatically takes care of caching responses for you? How awesome would it be if
こんにちは。お仕事でiPhoneアプリを開発しているid:ninjinkunです。このエントリはiOS Advent Calendar 2011 23日目の記事です。今回はあまり注目されることがなさそうなiPhoneアプリのエラー処理を取り上げてみようと思います。 エラー処理と言うとプログラマが粛々とやるものというイメージで、主に内部のエラーハンドリングのことが中心になりがちです。しかしエラー処理はそれをユーザーに通知するところまで考えて初めて完結します。この記事ではユーザー体験の面と内部処理と両方に言及してみようと思います。自分の今までのアプリでもあまり実践できていなかったので、自戒の念も込めて…。 エラーは様々な状況で発生しますが、ここでは主にHTTP通信のエラーを想定します。HTTP通信はiPhoneのようなモバイル端末では高い確率で失敗します。移動中、地下鉄、山の中の中など通信が不
だいぶ前から iPhone アプリ作成でネットワーク系の機能を作るときには libev を愛用してるのだが、今日 node をいじっていたら libuv がなかなかよさそうに感じた。 libuv は libev が Windows で動かないからっていう理由で始まったプロジェクトだとおもうけど、Linux などの環境においても libev をラップしつつ、より便利な機能が追加されていていわば C でネットワークプログラミングするためのフレームワークといえるくらいになってる、みたい。(まだ詳しく見たわけじゃないけど) libev は基本的に io 監視と timer のみで、socket の生成などは基本的に自分で syscall 呼んでつくる必要があるけど、libuv は uv_tcp_* とか uv_udp_* といったAPI郡をもってて便利そう。 あと、非同期 DNS ルックアップがサ
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど ネットワークの接続状況を取得できるライブラリを公開しました。 dev5tec/FBNetworkReachability - GitHub 特徴 現在の接続状況(WiFi, 3Gなど)を取得することができる。 以下、使い方の例 FBNetworkReachability* network = [FBNetworkReachability networkReachabilityWithHostname:@"http://xcatsan.com/"]; FBNetworkReachabilityConnectionMode mode = network.connectionMode; switch (mode) { case FBNetworkReachableNon: // 未接続 br
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く