Εγκατάσταση Wireshark σε Ubuntu GNU/Linux 16.04

Το wireshark είναι ένα δημοφιλές εργαλείο για σνιφάρισμά πακέτων δικτύου (εξίσου εθιστικά με κοκαϊνη, ειδικά για άτομα που θέλουν να αλώσουν την ασφάλεια του δικτύου σας ή να κλέψουν το password σας από το http://anime.gr ;p ). Αλλά ουκ ολίγες φορές ένα apt-get δεν αρκεί για να έχετε μια μη εκνευριστική εγκατάσταση ενός λογισμικού. Γι αυτό  πάρτε χαρτί και μολύβι ή αφήστε το καλύτερα έχουμε copy-paste :p .

Κατ’ αρχάς εγκαθιστούμε το wireshark με την εντολή apt-get , ξέρετε τα κλασικά:

sudo apt-get install wireshark

Η εντολή αυτή σε κάποια φάση θα σας βγάλει το εξής παράθυρο:Παράθυρο επιλογής κατά την εγκατάσταση του wireshark

Που επιλέγουμε ναι σε περίπτωση που επιλέξατε όχι ή είχατε εγκαταστήσει παλαιότερα το wireshark και έπρεπε να το εκτελέσετε σαν root μπορείτε να το επαναρυθμίσετε δίνοντας την εντολή και να ακολουθήσετε τα παρακάτω βήματα του άρθρου:

sudo dpkg-reconfigure wireshark-common

Μετά πρέπει να προσθέσετε το όνομα χρήστη σας στο group (ομάδα) wireshark, αυτό είναι εφικτό με την εντολή:


sudo groupadd wireshark
sudo usermod -aG wireshark ^όνομα_χρήστη^

Όπου το ^όνομα_χρήστη^ είναι το όνομα χρήστη που αντιστοιχεί.

Πλέον μένει να δώσετε τις παρακάτω εντολές 1 προς 1:


sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap

Πλέον μένει να αποσυνδεθείτε και να συνδεθείτε ξανά προκειμένου οι αλλαγές να έχουν ισχύ.

Advertisements
layout of a network having ubuntu as gateway

Ρύθμιση Ubuntu 16.04 σαν πύλη (gateway) δίκτυου.

Ας υποθέσουμε ότι έχουμε το εξής σενάριο έχουμε ένα μηχάνημα που τρέχει ubuntu 16.04 LTS server edition και θέλουμε αυτό να αποτελεί πύλη δικτύου για ένα τοπικό δίκτυο. Ουσιαστικά θέλουμε να πετύχουμε το εξής:

layout of a network having ubuntu as gateway

Όπως βλέπετε στην εικόνα θέλουμε όλη η κίνηση του δικτύου να περνά από ένα μηχάνημα το οποίο θα λειτουργεί σαν πύλη δρομολόγησης δικτύου. Για να επιτευχθεί αυτό θα πρέπει να κάνουμε τα εξής βήματα:

    1. Θα πρέπει να ορίζουμε ip δικτύου για την κάρτα μας η οποία αντιστοιχεί στο τοπικό δίκτυο, για να γίνει αυτό θα πρέπει να δώσουμε την εντολή:
      sudo nano /etc/network/interfaces
      

      Και να ορίσουμε μια στατική διεύθυνση για την κάρτα μας προσθέτοντας γραμμές σαν:

      auto enp0s8
      iface enp0s8 inet static
      address 10.0.6.1
      netmask 255.255.255.0
      broadcast 10.0.6.255
      dns-nameservers 8.8.8.8
      

      Η παραπάνω ρύθμιση αποτελεί ενδεικτική και θυμηθείτε να ορίσετε το κατάλληλο εύρος ip. Στην δικιά μας περίπτωση θα στήσουμε ένα ΝΑΤ δίκτυο έτσι θα έχουμε 255 διευθύνσεις με χρήσιμο εύρος 10.0.6.1 – 10.0.6.254. Ορίστε τις κατάλληλες ρυθμίσεις ανάλογα με τις ανάγκες σας.
      Μπορείτε να δείτε τα διαθέσιμα interface δικτύου με την εντολή:

      ifconfig -a 
    2. Μετά θα πρέπει να ενεργοποιήσουμε την προώθηση ipv4 που θα γίνει με την εντολή:
      sudo nano /etc/sysctl.conf

      Και να κάνουμε uncomment την γραμμή (αφαιρώντας το #):

      net.ipv4.ip_forward=1

      Μετά πρέπει να δώσουμε την εντολές:

      sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
    3. Μετά μένει να ενεργοποιήσουμε την κάρτα δικτύου δίνοντας τις εντολές (1 προς 1):
      sudo ifdown enp0s8
      sudo ifup enp0s8
      sudo service networking restart
    4. Μετά θα πρέπει να ορίσουμε στο firewall να ανακατευθύνει σωστά την κίνηση (δίνοντας μια προς μια τις εντολές):
      EXT=enp0s3
      INT=enp0s8
      sudo iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
      sudo iptables -A FORWARD -i $EXT -o $INT -m state --state RELATED,ESTABLISHED -j ACCEPT
      sudo iptables -A FORWARD -i $INT -o $EXT -j ACCEPT
      

      Ουσιαστικά ορίσαμε 2 enviromental variables:

      • EXT που εμπεριέχει την διεπαφή που κοιτά το διαδίκτυο
      • INT που εμπεριέχει την διεπαφή του εσωτερικού μας δικτύου

      Και βάση με αυτών ορίσαμε την προώθηση των πακέτων στο ενσωματωμένο firewall του GNU/Linux iptables.

    5. Τώρα μένει να αποθηκεύσουμε τις ρυθμίσεις του firewall με τις εντολές:
      sudo apt-get install iptables-persistent
      /etc/init.d/iptables-persistent save
      

Ακόμη εφόσον ορίσαμε το gateway μας θέλουμε να μπορούμε να διευθυνσιοδοτούμε αυτόματα μέσω dhcp έτσι θα εγκαταστήσουμε και θα ρυθμίσουμε το πρόγραμμα dnsmasq ο οποίος θα αποτελεί ο dhcp server μας. Για την εφκατάστασή του δίνουμε:

sudo apt-get install dnsmasq

Μετά μένει να τον ρυθμίσουμε, για να το κάνουμε θα πρέπει να δώσουμε την εντολή:

sudo nano /etc/dnsmasq.conf

Και να ορίσουμε τις παρακάτω ρυθμίσεις (σημείωση ότι έχουν προσαρμοστεί στην περίπτωσή μου):

interface=enp0s8
dhcp-range=10.0.6.2,10.0.6.254,12h

Σε περίπτωση άλλων ip ορίστε διαφορετικά ranges εξαιρώντας την/τις ip του gateway και του μηχανήματος. Για επανεκκίνηση του δαίμονα δώστε:

sudo service dnsmasq restart

Σημείωση

Σε περίπτωση που παίζετε με εικονικές μηχανές Virtualbox παρακαλώ ΑΠΕΝΕΡΓΟΠΟΙΕΙΣΤΕ τον dchp server του VIRTUALBOX.

Ξύπμηνμα (resume) μετά από αδρανοποίηση(suspend) σε ubuntu 16.04 με διπλή (DUAL) VGA Intel/Nvidia

Στο Laptop μου Lenovo G70-70 δεν μπορούσα να κάνω resume μετά από suspend. Ακόμη το laptop διαθέτει διπλή VGA μια Intel και μια NVIDIA:

pcmagas@pcmagas-Lenovo-G70-70:~$ lspci | egrep "3D|VGA"
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
03:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev ff)

Tο έλυσα ακολουθώντας τα εξής βήματα:

  1. Πρώτα στo dash έψαξα για «Nvidia»:Icon shown in dash
  2. Στο παράθυρο που μου άνοιξε επέλεξα και επέλεξα την επιλογή «PRIME PROFILES» και αργότερα την Intel κάρτα:
  3. Μετά αποσυνδέθηκα και ξανασυνδέθηκα στο λογαριασμό χρήστη που ανοίκει ο υπολογιστής μου.

Banzai επιτέλους μπορώ να κάνω suspend σαν κύριος.

Σημείωση:

Το παραπάνω λειτουργεί εάν χρησιμοποιείτε τον ιδιοταγή οδηγό για κάρτες Nvidia.

Εγκαταστήστε μια ποιο Λειτουργική έκδοση του Openshot Video editor σε Ubuntu 16.04

Εάν είχατε εκτελέσει στο παρελθόν την εντολή:

sudo apt-get install openshot

Η ακόμη και μέσω του κέντρου λογισμικού.

Θα σας εγκαταστήσει το πρόγραμμα openshot για επεξεργασία βίντεο, αλλά μετά από λίγα λεπτά μάλλον θα συμπεριφερόσασταν κάπως ασεβή ως προς την εορτάζουσα super-Αγία που εορτάζει στις 15/8 κάθε έτους ;), ενώ παράλληλα θα μεγιστοπιείσετε τα gs/s που μπορείτε να παραξετε.

Cool, για να παίξει χρειάζεστε μια νεότερη έκδοση αυτού του λογισμικού. Κατ’ αρχάς αποθηκεύστε την τρέχουσα εργασία σας Κύριε Μελλοντικέ Spielberg 😉 και κλείστε το λογισμικό μετά εκτελέστε την παρακάτω εντολή:

sudo apt-get purge openshot

Μετά εκτελέστε μια μια τις παρακάτω εντολές:

sudo add-apt-repository ppa:openshot.developers/ppa
sudo apt-get update
sudo apt-get install openshot-qt 

Πλέον μπορείτε να δημιουργήσετε σαν καλλιτέχνης ;).

Δημιουργία android εφαρμογών με ionic σε debian9

Στην αναζήτηση ενός ελευθέρου λογισμικού sdk (που επί το πλείστον είναι ελεύθερο αλλά έχει κάποια γ%^&*%^^& ιδιοταγή blobs) ήρθα σε αυτήν την σελίδα: https://wiki.debian.org/AndroidTools που ουσιαστικά είναι η προσπάθεια κάποιον ατόμων από την κοινότητα του debian να υπάρχει 100% ελεύθερο android sdk.

Προς τιμήν της προσπάθειας αυτής θα σας δείξω το πως να κάνετε εφαρμογές android με την χρήση του ionic framework και του 100% κελευθέρου android sdk. Ακόμη να σημειώσουμε ότι ο παρακάτω οδηγός λειτουργεί σε debian9 stable. (Όχι πως με την χρήση containers δεν μπορεί να τρέξει σε όποιο distro θες 😉 )

Κατ αρχάς θα πρέπει να εγκαταστήσουμε το πολυπόθητο ελέυθερο SDK:

  1. Εγκαταστήστε το με:sudo apt install android-sdk android-sdk-platform-23
  2. Εξάγετε την μεταβλητή περιβάλλοντος: export ANDROID_HOME=/usr/lib/android-sdk *

* Η εντολή αυτή μπορεί να μπει στο αρχείο ~/.bashrc για ποιο μόνιμες αλλαγές 😉

Εφόσον το εγκαταστήσαμε θα χρειαστεί να έχουμε το εκτελέσιμο npm:

  1. Πρώτα προσθέστε το αποθετήριο για μια ποιο πρόσφατη έκδοση του npm:
    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
  2. Μετά εγκαταστήστε την nodejs (που εγκαθηστά και το npm):
    sudo apt-get install -y nodejs
  3. Ουκ ολίγες npm βιβλιοθήκες χρειάζοντε το παρακάτω πακέτο:
    sudo apt-get install -y build-essential

Μετά σύμφωνα με το site του ionic θα πρέπει να εκτελέσετε την παρακάτω εντολή (εάν δεν έχετε εγκατεστημένο το ionic framework):

npm install -g cordova ionic

Πλέον μεταβείτε στο κατάλογο του ionic project σας:

cd ^path του project σας^

Σε περίπτωση που δεν έχετε κάνει project δείτε στο http://ionicframework.com/getting-started/ για το πως θα κάνετε το δικό σας ionic project.

Όπως και να έχει θα πρέπει να ορίσετε σαν πλατφόρμα το android:

ionic cordova platform add android

Εφόσον το κάνετε θα πρέπει να προβείτε στις εξής ενέργειες:

  1. Μεταβείτε στο φάκελο platforms που είναι εντός του project σας
  2. Στο αρχείο AndroidManifest.xml ορίστε εκεί που λέει android:targetSdkVersion την τιμή 23
  3. Στα αρχεία project.properties και CordovaLib/project.properties ορίστε εκεί που λέει target την τιμή android-23

Πλέον μπορείτε να χτίσετε την εφαρμογή σας με την εντολή:

ionic cordova build android

Και ας αρχίσει το πάρτυ!!!!!!!!!!!

Δημιουργήστε χώρο swap σε GNU/Linux όταν δεν υπάρχει χωρίς αλλαγή partition.

Στον υπολογιστή της εργασίας μου λόγο ότι τα 8GB δεν μου αρκούν για το λογισμικό το οποιό τρέχω ξέμενα εύκολα από μνήμη. Ακόμη παρατήρησα ότι κατα την εγκατάσταση κάπως δεν δημιουργήθηκε SWAP χώρος (ίσως να παίζει λόγο ότι το λειτουργικό είναι σε SSD δίσκο εξ ολοκλήρου). Έτσι λοιπόν προκειμένου να εκμεταλευτώ την ταχύτητα του SSD σαν επέκταση της μνήμης έκανα ένα αρχείο το οποίο εκμεταλεύτικα σαν SWAP.

H διαδικασία η οποία ακολούθησα ήταν:

  1. Να δημιουργήσω ένα αρχείο γεμάτο 0 μεγέθους 16GB:
    sudo dd if=/dev/zero of=/mnt/16GB.swap bs=16024 count=1048576
  2. Nα το κάνω swap
    sudo mkswap /mnt/16GB.swap
  3. Να του περιορίσω τα δικαιώματα:
    sudo chmod 0600 /mnt/16GB.swap
  4. Και να ορίσω στο λειτουργικό που να κοιτά για swap:
    sudo swapon /mnt/1GB.swap
  5. Τέλος το όρισα οριστικά σαν swap στο αρχείο /etc/fstab με την παρακάτω γραμμή στο τέλος της για να έχω τον χώρο σε κάθε εκκίνηση:
    /mnt/16GB.swap         swap            swap    defaults        0 0

Πιθανές ερωτήσεις:

  1. Και καλά ρε κομπάρε τι θα κάμνω εαν ηθέλο περισσότερο η λιγότερο swap;

    Από τα παραπάνω βήματα στο πρώτο βήμα όρισε πόσα MEGABYTES χώρου swap θες απλά ορίζοντας την παράμετρο bs= με την κατάλληλη τιμή πχ εάν θές 1GB swap η εντολή θα γίνει:

    sudo dd if=/dev/zero of=/mnt/16GB.swap bs=1024 count=1048576
  2. Μπορώ να έχω άλλο αρχείο πέραν του /mnt/16GB.swap .

    Ναι μπορείς απλά να θυμηθείς να ορίζεις την κατάλληλη ΠΛΗΡΗΣ διαδρομή του αρχείου που επιθυμείς αντί για /mnt/16GB.swap .

Εγκατάσταση Βιβλιοθήκης GDAL για εφαρμογές γεωπληροφορικής

Η βιβλιοθήκη GDAL είναι το Α και το Ω στον τομέα της Γεωοληροφορικής. Όμως πως την εγκαθιστούμε στο Ubuntu GNU/Linux μηχάνημα μας; Απλά ακολουθήστε τα βήματα.

Κατ αρχάς θα πρέπει να εγκαταστήσουμε τις εξαρτήσεις:


sudo apt-get install gcc g++ make python-pip

Μετά θα κατεβάσουμε τον πηγαίο κώδικα της βιβλιοθήκης και θα τον μεταγλωτήσουμε.Όλες οι εκδόσεις της βιβλιοθήκης είναι στο https://trac.osgeo.org/gdal/wiki/DownloadSource. Συνήθως βολεύει το url της μορφής:

http://download.osgeo.org/gdal/X.X.X/gdal-X.X.X.tag.gz

Που όπου ‘Χ.X.X’ αντικαθιστάτε με τον κατάλληλο αριθμό έκδοσης πχ. 2.1.0. Στο άρθρο όπου δείτε Χ.Χ.Χ το αντικαθιστάτε με την θεμιτή έκδοση.

Έτσι στο τερματικό μας εκτελούμε:

wget http://download.osgeo.org/gdal/X.X.X/gdal-X.X.X.tag.gz

Και το αποσυμπιέζουμε το αρχείο με την εντολή:

tar -xvf gdal-X.X.X.tar.gz

Και μεταβάινουμε στον φάκελο:

cd gdal-X.X.X

Και εκτελούμε την γνωστή τριάδα για την μεταγλώττιση και εγκατάσταση της βιβλιοθήκης:

./configure
make
sudo make install

Εφόσον δεν μας πετάξει κάποιο σφάλμα τότε εκτελούμε την παρακάτω εντολή για να εγκαταστήσουμε τις εξαρτήσεις (bindings) για την python:

pip install GDAL==X.X.X

Αργότερα τρέχεις:

export LD_LIBRARY_PATH="/usr/local/lib/:/usr/lib"

Προκειμένου η python να εντοπίσει την βιβλιοθήκη.

Σε περίπτωση που χρησιμοποιείτε σαν IDE το Pycharm κάντε τα εξής βήματα:

  1. Επίλεγετε «Run» -> «Edit Configurations» (βλ εικόνα)
  2. Στο Παράθυρο που μας ανοίγει επίλεξτε το κουμπί «…» εκεί που λέει «Enviromental Variables»
  3. Μετά κάντε κλικ στο κουμπί «+» και μετά Ορίστε σαν name «LD_LIBRARY_PATH» και σαν τιμή «/usr/local/lib/:/usr/lib» χωρίς τα «
  4. Πλέον πατήστε «οκ» σε όλα τα ανοικτά υπο-παράθυρα και πατήστε τo κουμπί Run προκειμένου να τρέξει το πρόγραμμα

Για μονιμότερο ορισμός της μεταβλητής παραμέτρου (enviromental variable) μπορείτε να βάλετε την εντολή:

export LD_LIBRARY_PATH="/usr/local/lib/:/usr/lib"

είτε στο τέλος του αρχείου «~/.profile» για να είναι ρυθμισμένο μόνο στον χρήστη σου είτε στο τέλος του αρχείου «/etc/profile» προκειμένου να είναι ορισμένη για όλους τους χρήστες του συστήματος.