スマホでアクセスするIP

  1. 表題の件についての単なるメモ。

■ 環境

  • au

■ from IP

とあるアクセス制限をしているページがあるのだが、一時的にスマホでアクセスしたかったのでIPを調べて個別に開放しようと思った。

スマホで一般公開しているサイトにアクセスし、自身のスマホがアクセスしているIPを割り出した。

182.250.166.XXX - - [29/Jun/2018:19:03:48 +0900] "GET /example HTTP/1.1" 200 9718 "https:/example.com/" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3_1 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/67.0.3396.87 Mobile/15E302 Safari/604.1"

短時間であればIPが変わることもないだろう、という考えからであったのだが、どうやら認識が甘かったようである。

上記アクセスで得られたIPを元に、アクセス制限をしているサイトにおいて開放してみたのだがアクセスができない…。動き的に開放されていないようなので、仕方なしに全開放してアクセスしてみたところ、下記のようなアクセスログが得られた。

182.249.242.XXX - - [29/Jun/2018:19:04:34 +0900] "GET /example2 HTTP/1.1" 200 50728 "https://example.net/" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3_1 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/67.0.3396.87 Mobile/15E302 Safari/604.1"

IPが違う…。再度最初にIPを割り出すためにアクセスしたサイトにアクセスしてみると、当初と同じIPが得られた。接続先によってIPが異なるのか?そういうものなのか…。

以上。

Wireshark@Mac

表題の通り。Wiresharkでパケットキャプチャしたのでファイルを確認しろとのこと…。

■ 環境

  • Wireshark 2.6.1
  • macOS High Sierra

■ Wireshark

Macでは使用したことがない。

Wireshark
https://www.wireshark.org/

Download“から”macOS 10.6 and later Intel 64-bit.dmg“をクリックして”Wireshark 2.6.1 Intel 64.dmg“をダウンロードした。

ダウンロード後、ダブルクリックで展開。

.pkg“をダブルクリックしてインストール。

後はインストールするのみ。

インストール完了。

以上。

Posted in: Mac | Tagged:

tableの件数を知りたい@DynamoDB(2)

表題の件。昨日とは別手段。

■ 環境

  • DynamoDB
  • awscli 1.15.40
  • macOS High Sierra

■ DynamoDB

前回のエントリでは下記で取得した。

$ aws dynamodb scan --table-name example --select COUNT

しかし、`scan`サブコマンドであるからデータが少ない今だから即数値が取得できるのかな?他に手段はないのかな?と疑問に思い継続調査。

下記手段でも取得できることを確認した。

$ aws dynamodb describe-table --table-name example
{
    "Table": {
  :
        "TableName": "example",
  :
        "TableSizeBytes": 49594,
        "ItemCount": 600,
  :
    }
}
$

`describe-table`サブコマンドで取得することができていた。`scan`であると全データを一時的にでも検索しているのだろうか?となるとデータ量が増えた時に応答時間が遅くなるかもしれない?料金も掛かる?といったことが発生するのかと疑問に思うことがいくつか。

とりあえず今後は`describe-table`サブコマンドで取得することにする。

以上。

■ 関連

tableの件数を知りたい@DynamoDB

tableの件数を知りたい@DynamoDB

表題の通り。DynamoDBをまだまともに触ったことがないので勉強中。

■ 環境

  • DynamoDB
  • awscli 1.15.40
  • macOS High Sierra

■ DynamoDB

tableに毎日100件ずつ新規にデータを投入している。正しく入っているか件数をとりあえず把握したいのだがどうやったら良いのかな?と思ったのがきっかけである。

ManagementConsoleからテーブルを選択し、”概要“や”容量“の項目を確認するも目当ての数値は得られず。項目から全スキャンしてページングで先に進んで行けば最終的に欲しい数値は得られるもののこんなやり方はナンセンスだ。というわけで`aws`コマンドで取得できないか確認。

$ aws dynamodb help

サブコマンドを確認し、とりあえず何かしら情報が得られそうなものをリストアップ。

  • list-tables
  • scan

`list-tables`サブコマンドで何かしらテーブルの詳細を表記するオプションがあるかと思ったが特になし。

`scan`サブコマンドのヘルプを見ると、下記のような記載が。

--select (string)
   The  attributes  to  be returned in the result. You can retrieve all
   item attributes, specific item attributes,  the  count  of  matching
   items,  or  in  the  case of an index, some or all of the attributes
   projected into the index.
  :
  o COUNT - Returns the number of  matching  items,  rather  than  the
    matching items themselves.
  :

求めていたもののような感じがする。早速実行してみる。

$ aws dynamodb scan --table-name example --select COUNT
{
    "Count": 500,
    "ScannedCount": 500,
    "ConsumedCapacity": null
}
$

欲しい情報が得られた。”500“件がまさに想定していたものと同値である。

以上。

■ 関連

tableの件数を知りたい@DynamoDB(2)

DynamoDBで全件取得

DynamoDB.batchWriteItem()

AWS Lambdaを使っていて、node.jsからDynamoDBの値を更新しようとしたところちょっとハマったのでメモ。

■ 環境

  • Node.js 8.10
  • AWS Lambda
  • AWS DynamoDB

■ batchWriteItem()

マニュアルを見ていて、`batchWriteItem()`を知った。複数件を操作できるので便利そうだ、と思い早速やってみた。試しに10件更新はうまくいったので100件更新をしようとしたところエラー…。何か間違えたかな?とソースを確認するも問題はなさそう。

マニュアルを再度確認すると下記の記載があった。

* There are more than 25 requests in the batch.

これに引っかかっていたようである。

25件毎の実行に修正したところ問題なく操作ができた。

以上。