Hatena::ブログ(Diary)

Kimura.Memo RSSフィード

2016-09-15

各キャリアのIPアドレス帯域一覧テキストファイルの形式を変更

以前より公開している audocomoSoftBankY!mobileIPアドレス帯域一覧テキストファイル形式を一部変更&新たなファイル作成しました。
以下変更箇所です。

  1. maskバイナリ値を行末尾に追加
  2. i-modeだけ、mail用が最初に来ていたのでWebの後に変更
  3. Web/Mail/PCVを別ファイルにしたもの作成開始
  4. KDDIスマートフォンの(Web)IPアドレス帯域を追加
  5. タイトルに、ソースURLを追記
  6. コメント行の行頭にある「#」記号の後ろに半角空白を挿入

大きい変更は、maskバイナリ値を追加したことと、Web/Mail/PCVを別ファイルにしたもの作成するようにしたことです。
また、auezweb)については、2011年秋冬モデル以降の機種分についてはさらに別ファイル(ezweb_web_ip2.txt)にしています。

auケータイ

docomoケータイ

SoftBankケータイ

Y!mobile

auスマートフォン

※現時点では、WebIPアドレスのみなので、au_sp_ip.txtとau_sp_web_ip.txtは、まったく同じ内容です。

docomoスマートフォン

SoftBankスマートフォン/iPhone

上記ファイルはタブ区切りテキストファイルで、全て

[IP/MASK]\t[IP]\t[MASK]\t[IP(Binary)]\t[MASK(Binary)]\n

形式で1行につき1つの帯域が記載されています。

たとえばWebサイトアクセスしてきた docomoケータイが、公表されたIPアドレス域内であるかどうかを調べるには、

sub is_real_docomo_keitai
{
  my $is_real_ip = 0;

  my $ip_file = 'imode_web_ip-compact.txt';

  my $addr_bin = sprintf "%08b"x4, split /\./, $ENV{REMOTE_ADDR};

  open ( IPF, $ip_file ) or die("can't open file: $!");
  while ( <IPF> ) {
    next if ( /^#/ );
    next if ( /^\n$/ );
    chomp;
    my ($ipmask, $ip, $mask, $ip_bin, $mask_bin) = split( /\t/ );
    my $network_bin = $mask_bin & $addr_bin;
    if ( $ip eq &get_network_address($network_bin) ) {
      $is_real_ip = 1;
      last;
    }
  }
  close ( IPF );

  return $is_real_ip;
}

sub get_network_address
{
  my $ip_bin = shift;
  return join '.', map { oct "0b$_" } $ip_bin=~/(\d{8})(\d{8})(\d{8})(\d{8})/;
}

のように調べます。


ところでスマートフォンIPアドレス帯域をチェックすることって実際あるんでしょうか?

2016-09-14

auスマートフォンのIPアドレス帯域

au Android技術情報 グローバルIPアドレス
上記を把握していなかったので、登録

IS NET/LTE NET (スマートフォン/タブレット/4G LTE ケータイ) で使用しているグローバルアドレスは以下となります (2016年8月現在)。
106.128.0.0/13 (注1)
111.86.140.128/27
182.248.112.128/26
182.249.0.0/16
182.250.0.0/15
注1) 以下のアドレスを除く
106.135.0.0/16

106.128.0.0/13(106.128.0.0 - 106.135.255.255)から、106.135.0.0/16(106.135.0.0 - 106.135.255.255)を除く、ということは、以下のようになるんですよね。

  • 106.128.0.0/14 (106.128.0.0 - 106.131.255.255)
  • 106.132.0.0/15 (106.132.0.0 - 106.133.255.255)
  • 106.134.0.0/16 (106.134.0.0 - 106.134.255.255)

間違っていたら誰か教えてください。

2016-08-31

2016-08-29

iPhoneで「lang="ja"」有りと無しで絵文字の表示が異なる

Unicode絵文字を調べていて、面白い事象を発見した。
私が所持しているのがiPhone5Sなので、新しいiPhoneでは発生しないのかもしれませんが、自分としてはかなり衝撃でしたので記録しておきます

iPhoneで、htmlファイル

<html lang="ja">

と書くと、一部の絵文字テキストモードで表示されます
「lang="ja"」を外せば絵文字モードで表示されます

テキストモード絵文字モードは、UnicodeEmoji variation sequences によって定義されているもので、「晴れ」絵文字なら、絵文字コード(&#x2600;)の後ろに「&#xFE0E;」がつけばテキストモードに、
&#x2600;&#xFE0E;


f:id:Kimura:20160829180902p:image

絵文字コードの後ろに「&#xFE0F;」がつけば絵文字モードとなる。
&#x2600;&#xFE0F;


f:id:Kimura:20160829180903p:image

では何もつけなかった場合はどうなるかと言うと、タイトルの通り、私のiPhone5Sでは「lang="ja"」有りと無しで絵文字の表示が異なる。

lang="ja"有り

<html lang="ja">
<body>
<p>&#x2600;</p>
</body>
</html>


f:id:Kimura:20160829184731p:image

lang="ja"無し

<html>
<body>
<p>&#x2600;</p>
</body>
</html>


f:id:Kimura:20160829184732p:image

lang="ja"を外せば解決するのですが、何か腑に落ちない感じです。

それじゃ、lang="en"ではどうかと言うと、

lang="en"

<html lang="en">
<body>
<p>&#x2600;</p>
</body>
</html>


f:id:Kimura:20160829184013p:image

な、なんじゃ こりゃー💢

2016-08-24

2016-08-01

2016-06-20

redhat6.8リリースノート覚書


第2章 全般的な更新

Yum は、パッケージの依存関係エラーが発生した際に、エンドユーザーシステム上で無効になっているパッケージリポジトリー検索することを要求するようになりました。これにより、ユーザーは見つからないパッケージの依存関係をすべての既知のチャンネルで最初にチェックすることで、依存関係エラーの解決が迅速にできるようになります
この機能有効にするには、マシンを Red Hat Enterprise Linux 6.8 にアップグレードする前に、yum update yum subscription-manager を実行します


第14章 システムとサブスクリプション管理

yum 用の search-disabled-repos プラグインが subscription-managerr パッケージに追加されました。ソースリポジトリー無効となっているリポジトリー依存していることが原因で失敗する yum の動作が、このプラグインにより正常に完了できるようになります。この失敗している環境に search-disabled-repos をインストールすると、yum は、無効リポジトリー一時的有効にして、欠けている依存パッケージを検索する指示を表示するようになります
この指示にしたがって、/etc/yum/pluginconf.d/search-disabled-repos.conf ファイル内のデフォルトの notify_only 動作をオフにすると、それ以降の yum の動作では、yum の処理で必要となる、すべての無効になっているリポジトリー一時的もしくは永続的に有効にするようプロンプトが出ます


第10章 ネットワーク

新パッケージ: chrony

新パッケージの chrony が Red Hat Enterprise Linux 6 に追加されています。chrony は Network Time Protocol (NTP) の多目的実装で、これは通常 ntp パッケージの ntpd デーモンよりも正確にシステムクロックを同期します。また、linuxptp パッケージの timemaster サービスと合わせて使用することで、ハードウェアタイムスタンプが利用可能場合はマイクロ秒以下の正確さでクロックを Precision Time Protocol (PTP) ドメインと同期し、他の PTP ドメインまたは NTP リソースにフォールバックを提供ます


第11章 セキュリティー

LWP がホスト名と証明書認証をサポート

デフォルトでは無効となっている証明書およびホスト名の認証が、Perl 向けの World Wide Web ライブラリー (LWP、libwww-perl とも呼ばれる) に実装されました。これにより、LWP::UserAgent Perl モジュールのユーザーは、HTTPS サーバーアイデンティティー検証できるようになっています。この認証有効にするには、IO::Socket::SSL Perl モジュールがインストールされ、PERL_LWP_SSL_VERIFY_HOSTNAME 環境変数が 1 に設定されているかアプリケーションが ssl_opts オプションを正しく設定するよう修正されている必要があります。詳細は、LWP::UserAgent POD を参照してください。

Perl Net:SSLeay が elliptic 曲線パラメーターに対応

elliptic-curve パラメーターのサポートが Perl Net:SSLeay モジュールに追加されました。これには、OpenSSL ライブラリーへのバインディングが含まれます。つまり、EC_KEY_new_by_curve_name()、EC_KEY_free*()、SSL_CTX_set_tmp_ecdh()、および OBJ_txt2nid() のサブルーチンがアップストリームから移植されました。これは、IO::Socket::SSL Perl モジュールの Elliptic Curve Diffie–Hellman Exchange (ECDHE) キー交換のサポートに必要となるものです。

Perl IO::Socket::SSL が ECDHE に対応

Elliptic Curve Diffie–Hellman Exchange (ECDHE) のサポートが IO::Socket::SSL Perl モジュールに追加されました。新しい SSL_ecdh_curve オプションは、 Object Identifier (OID) または Name Identifier (NID) ごとの適切な曲線の特定使用できます。このため、IO::Socket:SSL を使って TLS クライアント実装する際に、デフォルトの elliptic 曲線パラメーターを無効にできるようになりました。

2016-05-28

KDDI F001以外のWeb用IPアドレス帯域追加

KDDI au: 技術情報 > IPアドレス帯域

2016/07/01 以下の6件を追加予定

  • 27.90.206.0/26
  • 27.90.206.64/26
  • 27.90.206.128/26
  • 27.90.207.0/26
  • 27.90.207.64/26
  • 27.90.207.128/26

http://www.wap2.jp/download/ip/ezweb_ip.txt

2016-05-09

KDDI・SoftBankスマートフォン/iPhoneのIPアドレス帯域追加

http://www.wap2.jp/download/ip/softbank_sp_ip.txt
http://www.wap2.jp/download/ip/ezweb_ip.txt

KDDI F001用IPアドレス帯域追加

KDDI au: 技術情報 > IPアドレス帯域

以下の2件を追加(2016/05/01)

  • 27.90.207.224/28
  • 27.90.207.240/28

SoftBankスマートフォンIPアドレス帯域追加

Web技術情報 | SoftBank スマートフォン サービス開発支援サイト | ソフトバンク

以下の9件を追加

  • 126.212.128.0/20(2016/03/10
  • 126.212.224.0/22(2016/03/10
  • 126.212.240.0/22(2016/03/10
  • 126.211.16.0/20(2016/04/01)
  • 126.211.100.0/22(2016/04/01)
  • 126.211.116.0/22(2016/04/01)
  • 126.212.144.0/20(2016/04/28
  • 126.212.228.0/22(2016/04/28
  • 126.212.244.0/22(2016/04/28

SoftBank iPhoneIPアドレス帯域追加

iPhone/iPadシリーズのIPアドレスについて

以下の6件を追加

  • 126.245.0.0/18(2016/03/10
  • 126.247.0.0/18(2016/03/10
  • 126.225.148.0/23(2016/03/31)
  • 126.225.150.0/23(2016/03/31)
  • 126.247.64.0/18(2016/04/01)
  • 126.245.64.0/18(2016/04/28

SoftBank iPhoneメールIPアドレス帯域追加

i.softbank.jpspfレコードより以下の3件を追加

  • 117.46.9.0/24
  • 117.46.14.0/24
  • 123.108.239.0/24